# This file is a template, and might need editing before it works on your project. # Official language image. Look for the different tagged releases at: # https://hub.docker.com/r/library/python/tags/ image: $CI_DOCKER_REGISTRY/python:3.8 #commands to run in the Docker container before starting each job. before_script: - pip install -e .[dev] # different stages in the pipeline stages: - Formatter - Test - AdditionalTests - Deploy formatter: stage: Formatter script: - pip install black - black --check --diff --color --line-length=100 ./ pytest: stage: Test script: - pytest -v --random-order ./tests tests-3.9: stage: AdditionalTests image: $CI_DOCKER_REGISTRY/python:3.9 needs: ["pytest"] script: - pytest -v --random-order ./tests allow_failure: true tests-3.10: extends: "tests-3.9" stage: AdditionalTests image: $CI_DOCKER_REGISTRY/python:3.10 allow_failure: true tests-3.11: extends: "tests-3.9" stage: AdditionalTests image: $CI_DOCKER_REGISTRY/python:3.11 allow_failure: true semver: stage: Deploy needs: ["pytest"] script: - git config --global user.name "ci_update_bot" - git config --global user.email "ci_update_bot@bec.ch" - git checkout "$CI_COMMIT_REF_NAME" - git reset --hard origin/"$CI_COMMIT_REF_NAME" # delete all local tags - git tag -l | xargs git tag -d - git fetch --tags - git tag # build - pip install python-semantic-release==7.* wheel - export GL_TOKEN=$CI_UPDATES - export REPOSITORY_USERNAME=__token__ - export REPOSITORY_PASSWORD=$CI_PYPI_TOKEN - > semantic-release publish -v DEBUG -D version_variable=./setup.py:__version__ -D hvcs=gitlab allow_failure: false rules: - if: '$CI_COMMIT_REF_NAME == "master"'