Skip to content
Snippets Groups Projects

Rolling release

Merged Bert Palm requested to merge rolling-release into develop
Files
2
+ 125
2
@@ -52,17 +52,138 @@ reuse:
- reuse lint
# ===========================================================
# Testing stage
# ===========================================================
# make (visual) coverage in gitlab merge request diff's
coverage:
stage: test
allow_failure: true
script:
- pip install pytest-cov coverage
- pytest --cov=saqc tests --ignore=tests/fuzzy -Werror
after_script:
- coverage xml
# regex to find the coverage percentage in the job output
coverage: '/^TOTAL.+?(\d+\%)$/'
artifacts:
when: always
reports:
coverage_report:
coverage_format: cobertura
path: coverage.xml
python38:
stage: test
image: python:3.8
script:
- pytest tests -Werror --junitxml=report.xml
- python -m saqc --config docs/resources/data/config.csv --data docs/resources/data/data.csv --outfile /tmp/test.csv
artifacts:
when: always
reports:
junit: report.xml
python39:
stage: test
image: python:3.9
script:
- pytest tests -Werror --junitxml=report.xml
- python -m saqc --config docs/resources/data/config.csv --data docs/resources/data/data.csv --outfile /tmp/test.csv
artifacts:
when: always
reports:
junit: report.xml
python310:
stage: test
image: python:3.10
script:
- pytest tests -Werror --junitxml=report.xml
- python -m saqc --config docs/resources/data/config.csv --data docs/resources/data/data.csv --outfile /tmp/test.csv
artifacts:
when: always
reports:
junit: report.xml
python311:
stage: test
image: python:3.11
script:
- pytest tests -Werror --junitxml=report.xml
- python -m saqc --config docs/resources/data/config.csv --data docs/resources/data/data.csv --outfile /tmp/test.csv
artifacts:
when: always
reports:
junit: report.xml
doctest:
stage: test
script:
- cd docs
- pip install -r requirements.txt
- make doc # needed for _api tests
- make test
# ===========================================================
# Building stage
# ===========================================================
# check if we are able to build a wheel
# and if the import works
wheel38:
stage: build
image: python:3.8
script:
- pip install wheel
- pip wheel .
- pip install .
- python -c 'import saqc; print(f"{saqc.__version__=}")'
wheel39:
stage: build
image: python:3.9
script:
- pip install wheel
- pip wheel .
- pip install .
- python -c 'import saqc; print(f"{saqc.__version__=}")'
wheel310:
stage: build
image: python:3.10
script:
- pip install wheel
- pip wheel .
- pip install .
- python -c 'import saqc; print(f"{saqc.__version__=}")'
wheel311:
stage: build
image: python:3.11
script:
- pip install wheel
- pip wheel .
- pip install .
- python -c 'import saqc; print(f"{saqc.__version__=}")'
docs:
stage: build
script:
- cd docs
- pip install -r requirements.txt
- make doc
# ===========================================================
# Extra Pipeline (run with a successful run of all other jobs on develop)
# ===========================================================
testpypi:
upload_testpypi:
stage: deploy
only:
refs:
- develop
- rolling-release
except:
- schedules
variables:
@@ -74,6 +195,8 @@ testpypi:
- python -m build
- twine check --strict dist/*
- twine upload -r testpypi dist/*
- echo "install latest develop version with (all option flags are necessary):"
- echo "pip install --pre -U -i https://test.pypi.org/simple/ --extra-index-url http://pypi.org/simple saqc-dev`"
# make html docu with sphinx
pages:
Loading