Loading .gitlab-ci.yml +50 −0 Original line number Diff line number Diff line stages: - test - acceptance - build - publish image: python:3.8 Loading Loading @@ -127,3 +128,52 @@ code-analysis: --hook-stage=push --from-ref=FROM_REF --to-ref=${CI_COMMIT_SHA} # Package publishing Build Packages: stage: build variables: BUILD_NUMBER: dev${CI_PIPELINE_ID} rules: - if: $CI_COMMIT_TAG =~ /^v[0-9]/ variables: BUILD_NUMBER: ${CI_COMMIT_TAG#*-} - when: on_success script: - NAME=`./setup.py --name` - VERSION=`./setup.py --version` - WHEEL_BASE="${NAME//-/_}-${VERSION}" - SDIST_BASE="${NAME}-${VERSION}" - mkdir dist - ./setup.py bdist_wheel --dist-dir build sdist --dist-dir build - python -m wheel unpack build/${WHEEL_BASE}-*.whl --dest build/wheel - python -m wheel pack ${BUILD_NUMBER:+ --build-number "$BUILD_NUMBER"} build/wheel/* --dest-dir dist - mv build/${SDIST_BASE}.tar.gz dist/${SDIST_BASE}${BUILD_NUMBER:+-$BUILD_NUMBER}.tar.gz artifacts: paths: - dist Upload Packages: stage: publish dependencies: - Build Packages script: - pip install twine - TWINE_PASSWORD=$CI_JOB_TOKEN TWINE_USERNAME=gitlab-ci-token twine upload --verbose --non-interactive --repository-url $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/pypi dist/* Loading
.gitlab-ci.yml +50 −0 Original line number Diff line number Diff line stages: - test - acceptance - build - publish image: python:3.8 Loading Loading @@ -127,3 +128,52 @@ code-analysis: --hook-stage=push --from-ref=FROM_REF --to-ref=${CI_COMMIT_SHA} # Package publishing Build Packages: stage: build variables: BUILD_NUMBER: dev${CI_PIPELINE_ID} rules: - if: $CI_COMMIT_TAG =~ /^v[0-9]/ variables: BUILD_NUMBER: ${CI_COMMIT_TAG#*-} - when: on_success script: - NAME=`./setup.py --name` - VERSION=`./setup.py --version` - WHEEL_BASE="${NAME//-/_}-${VERSION}" - SDIST_BASE="${NAME}-${VERSION}" - mkdir dist - ./setup.py bdist_wheel --dist-dir build sdist --dist-dir build - python -m wheel unpack build/${WHEEL_BASE}-*.whl --dest build/wheel - python -m wheel pack ${BUILD_NUMBER:+ --build-number "$BUILD_NUMBER"} build/wheel/* --dest-dir dist - mv build/${SDIST_BASE}.tar.gz dist/${SDIST_BASE}${BUILD_NUMBER:+-$BUILD_NUMBER}.tar.gz artifacts: paths: - dist Upload Packages: stage: publish dependencies: - Build Packages script: - pip install twine - TWINE_PASSWORD=$CI_JOB_TOKEN TWINE_USERNAME=gitlab-ci-token twine upload --verbose --non-interactive --repository-url $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/pypi dist/*