Add an upload stage to the CI

This MR solves most of #23 (closed), the remaining things to do are create a PyPI account for the CI to use, and set the TWINE_USERNAME and TWINE_PASSWORD variables in https://gitlab.com/buildstream/bst-external/settings/ci_cd to use that account.

A successful run uploading a 0.0.1 tag to test.pypi.org can be seen at https://gitlab.com/SotK/bst-external/pipelines/49378627.

The upload stage only runs when a tag matching the release tag format is pushed. It uploads the built package tarball to a Python package index, by default pypi.org. The target index is configurable by setting the TWINE_REPOSITORY_URL environment variable for the pipeline.

If authentication credentials aren't provided, then the upload job will just fail and nothing will end up on PyPI.

Merge request reports

Loading