image: python:latest stages: # - package_test - package_build - package_deployment before_script: - python3 -m pip install --upgrade pip build_package: stage: package_build script: - python3 -m pip install --upgrade setuptools>=61.0 - python3 -m pip install --upgrade build - python3 -m build artifacts: paths: - dist/* # build_documentation: # stage: package_build # script: staging_testpypi: stage: package_deployment variables: TWINE_USERNAME: $STAGING_USERNAME TWINE_PASSWORD: $STAGING_TOKEN script: - python3 -m pip install --upgrade twine - twine upload --repository testpypi dist/* only: - tags production_pypi: stage: package_deployment variables: TWINE_USERNAME: $PRODUCTION_USERNAME TWINE_PASSWORD: $PRODUCTION_TOKEN script: - python3 -m pip install --upgrade twine - twine upload dist/* only: - release