Skip to content

Latest commit

 

History

History
67 lines (50 loc) · 1.02 KB

File metadata and controls

67 lines (50 loc) · 1.02 KB

GitLab CI Integration

Example of integrating pyqual with GitLab CI.

.gitlab-ci.yml

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+%)$/'

pyqual.yaml

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: block

Coverage Integration

GitLab can parse coverage from the XML report generated by pytest-cov.