Commit 6516f653 authored by Dom Sekotill's avatar Dom Sekotill
Browse files

Add package publishing to dev registry

parent 3cc45de7
Loading
Loading
Loading
Loading
+50 −0
Original line number Diff line number Diff line
stages:
  - test
  - acceptance
  - build
  - publish

image: python:3.8
@@ -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/*