Commit 73ef01c3 authored by André Anjos's avatar André Anjos 💬

Merge branch 'python-only' into 'master'

[ci] Try python-only builds

See merge request !43
parents 788a9ced 0e832d44
Pipeline #55346 failed with stages
in 1 minute and 36 seconds
......@@ -20,3 +20,4 @@ src/
record.txt
.coverage
coverage.xml
.tox/
include: 'https://gitlab.idiap.ch/bob/bob.devtools/raw/master/bob/devtools/data/gitlab-ci/single-package.yaml'
# This YAML file contains descriptions for the CI of python-only packages
# - do **not** modify it unless you know what you're doing (and up to!)
# Definition of global variables (all stages)
variables:
PYTHONUNBUFFERED: "1"
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
PRE_COMMIT_HOME: "${CI_PROJECT_DIR}/.cache/pre-commit"
# Definition of our build pipeline order
stages:
- build
- test
- deploy
- pypi
# Build targets
build:
image: python:latest
tags:
- docker
stage: build
before_script:
- pip install twine pre-commit sphinx sphinx-rtd-theme
script:
- "[ -r .pre-commit-config.yaml ] && pre-commit run --all-files --show-diff-on-failure --verbose"
- python setup.py sdist --formats=zip
- twine check dist/*.zip
- pip install -e .
- "[ -e doc ] && sphinx-build doc sphinx"
artifacts:
paths:
- dist/*.zip
- sphinx
expire_in: 1 week
cache:
key: "build-py"
cache:
paths:
- ${PRE_COMMIT_HOME}
- ${PIP_CACHE_DIR}
# Test targets
.test_template:
tags:
- docker
stage: test
before_script:
- pip install tox
cache:
key: "test-py"
paths:
- ${PIP_CACHE_DIR}
test_py38:
extends: .test_template
image: python:3.8
script:
- tox -e py38
test_py39:
extends: .test_template
image: python:3.9
script:
- tox -e py39
test_py310:
extends: .test_template
image: python:3.10
script:
- tox -e py310
.deploy_template:
image: python:latest
tags:
- docker
stage: deploy
dependencies:
- test_py38
- test_py39
- test_py310
- build
before_script:
- pip install git+https://gitlab.idiap.ch/bob/bob.devtools#egg=bob.devtools twine
script:
- bdt ci deploy -vv
deploy_beta:
extends: .deploy_template
environment: beta
only:
- master
deploy_stable:
extends: .deploy_template
environment: stable
only:
- /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags)
except:
- branches
pypi:
image: python:latest
tags:
- docker
stage: pypi
environment: pypi
only:
refs:
- /^v\d+\.\d+\.\d+([abc]\d*)?$/ # PEP-440 compliant version (tags)
variables:
- $CI_PROJECT_VISIBILITY == "public"
except:
- branches
dependencies:
- test_py38
- test_py39
- test_py310
- build
before_script:
- pip install twine
script:
- twine --skip-existing --username=${PYPIUSER} --password=${PYPIPASS} dist/*.zip
cache:
paths:
- ${PIP_CACHE_DIR}
[tox]
envlist = py38,py39,py310
[testenv]
deps =
pytest-cov
commands =
pytest --verbose --cov bob.buildout --cov-report term-missing --cov-report html:sphinx/coverage --cov-report xml:coverage.xml bob/buildout
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment