*** Wartungsfenster jeden ersten Mittwoch vormittag im Monat ***

Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.26 KiB
Newer Older
Tsepelakis, Sotirios's avatar
Tsepelakis, Sotirios committed
stages:
  - testing
  - release

run-tests:
  stage: testing
  script:
    - git clean -dfx
    - uv sync --all-extras --no-progress
    - source .venv/bin/activate
    - deactivate
Tsepelakis, Sotirios's avatar
Tsepelakis, Sotirios committed
  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'
    - if: $CI_COMMIT_TAG =~ /^v\d+/
Tsepelakis, Sotirios's avatar
Tsepelakis, Sotirios committed
  stage: testing
Tsepelakis, Sotirios's avatar
Tsepelakis, Sotirios committed
    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+/
Tsepelakis, Sotirios's avatar
Tsepelakis, Sotirios committed
  stage: release
  needs:
    - run-tests
    - if: $CI_COMMIT_TAG =~ /^v\d+/
    - uv build
    - uvx twine check dist/*
    - TWINE_USERNAME=${PYPI_USER} TWINE_PASSWORD=${PYPI_PASSWORD} uvx twine upload --skip-existing --non-interactive dist/*