Newer
Older
# SPDX-FileCopyrightText: 2021 Helmholtz-Zentrum für Umweltforschung GmbH - UFZ
#
# SPDX-License-Identifier: GPL-3.0-or-later
# ===========================================================
# preparation
# ===========================================================
variables:
GIT_SUBMODULE_STRATEGY: recursive
before_script:
- pip install --upgrade pip
- pip install pytest
- pip install -r requirements.txt
# ===========================================================
# normal jobs (non scheduled)
# ===========================================================
# test saqc with python 3.7
python37:
stage: test
image: python:3.7
- pytest tests/core tests/funcs tests/integration dios/test -Werror
- python -m saqc --config sphinxdoc/resources/data/config.csv --data sphinxdoc/resources/data/data.csv --outfile /tmp/test.csv
- pytest tests/core tests/funcs tests/integration dios/test -Werror
- python -m saqc --config sphinxdoc/resources/data/config.csv --data sphinxdoc/resources/data/data.csv --outfile /tmp/test.csv
# test saqc with python 3.9
python39:
stage: test
image: python:3.9
script:
- pytest tests/core tests/funcs tests/integration dios/test -Werror
- python -m saqc --config sphinxdoc/resources/data/config.csv --data sphinxdoc/resources/data/data.csv --outfile /tmp/test.csv
# check if everthing is properly formatted
black:
stage: test
script:
- pip install black
- black --check .
# make (visual) coverage in gitlab merge request diff's
coverage:
stage: test
allow_failure: true
- pytest --cov=saqc tests/core tests/funcs -Werror
after_script:
- coverage xml
# regex to find the coverage percentage in the job output
coverage: '/^TOTAL.+?(\d+\%)$/'
artifacts:
when: always
reports:
cobertura: coverage.xml
# Check compliance with the REUSE specification
reuse_compliance:
stage: test
image:
name: fsfe/reuse:latest
entrypoint: [""]
before_script:
- echo "Override default 'before_script'..."
script:
- reuse lint
- develop
except:
- schedules
- cd sphinxdoc/
- cp -r _build/html ../public
artifacts:
paths:
- public
# ===========================================================
# scheduled jobs
# ===========================================================
# fuzzy testing saqc
fuzzy:
stage: test
- schedules
script:
- pytest tests/fuzzy -Werror
# test lib saqc
testLib:
stage: test
only:
- schedules
script:
- pytest tests/lib -Werror