Newer
Older
stages:
- testing
- release
run-tests:
stage: testing
script:
- git clean -dfx
- uv sync --all-extras --no-progress
- source .venv/bin/activate
- ./run-tests.sh -V
coverage: /TOTAL.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/
artifacts:
paths:
- coverage.xml
when: on_success
access: developer
expire_in: "10 mins"
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
cache:
key: "${CI_JOB_NAME}"
paths:
- .sonar/cache
script:
- sonar-scanner
allow_failure: true
rules:
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- if: $CI_COMMIT_TAG =~ /^v\d+/
script:
- rm -f dist/*
- uv build
- uvx twine check dist/*
- TWINE_USERNAME=${PYPI_USER} TWINE_PASSWORD=${PYPI_PASSWORD} uvx twine upload --skip-existing --non-interactive dist/*