Example of integrating pyqual with GitLab CI.
stages:
- quality
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
cache:
paths:
- .cache/pip/
- .venv/
pyqual:
stage: quality
image: python:3.11
before_script:
- pip install pyqual
- pip install -e ".[dev]"
script:
- pyqual run
artifacts:
when: always
paths:
- .pyqual/
reports:
coverage_report:
coverage_format: cobertura
path: .pyqual/coverage.xml
coverage: '/TOTAL.*\s+(\d+%)$/'pipeline:
name: gitlab-quality
metrics:
coverage_min: 75
stages:
- name: test
run: |
pytest tests/ \
--cov=src/my_package \
--cov-report=json:.pyqual/coverage.json \
--cov-report=xml:.pyqual/coverage.xml
when: always
loop:
max_iterations: 1
on_fail: blockGitLab can parse coverage from the XML report generated by pytest-cov.