pipeline: build: image: python:latest when: event: tag commands: - python --version - pip install -U build --quiet - python -m build upload: image: python:latest when: event: tag secrets: [ twine_username, twine_password ] commands: - pip install -U twine --quiet - python -m twine upload --skip-existing --repository testpypi -u $TWINE_USERNAME -p $TWINE_PASSWORD dist/*