summaryrefslogtreecommitdiff
path: root/.github/workflows/build-python-package.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build-python-package.yml')
-rw-r--r--.github/workflows/build-python-package.yml50
1 files changed, 47 insertions, 3 deletions
diff --git a/.github/workflows/build-python-package.yml b/.github/workflows/build-python-package.yml
index 0a610881a..5c48b0256 100644
--- a/.github/workflows/build-python-package.yml
+++ b/.github/workflows/build-python-package.yml
@@ -1,4 +1,4 @@
-name: Build Python Package
+name: Build & Publish Python Package
on: [push, pull_request]
@@ -42,7 +42,51 @@ jobs:
run: |
python -m cibuildwheel src/runtime/python --output-dir wheelhouse
- - uses: actions/upload-artifact@v1
+ - uses: actions/upload-artifact@v2
with:
- name: wheels
path: ./wheelhouse
+
+ build_sdist:
+ name: Build source distribution
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: actions/setup-python@v2
+ name: Install Python
+ with:
+ python-version: '3.7'
+
+ - name: Build sdist
+ run: cd src/runtime/python && python setup.py sdist
+
+ - uses: actions/upload-artifact@v2
+ with:
+ path: dist/*.tar.gz
+
+ upload_pypi:
+ needs: [build_wheels, build_sdist]
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Set up Python
+ uses: actions/setup-python@v2
+ with:
+ python-version: '3.x'
+
+ - name: Install twine
+ run: pip install twine
+
+ - uses: actions/download-artifact@v2
+ with:
+ name: artifact
+ path: ./src/runtime/python/dist
+
+ - name: Publish
+ env:
+ TWINE_USERNAME: __token__
+ TWINE_PASSWORD: ${{ secrets.pypi_password }}
+ working-directory: ./src/runtime/python
+ run: |
+ curl -I --fail https://pypi.org/project/$(python setup.py --name)/$(python setup.py --version)/ || twine upload --repository testpypi dist/*
+ # To test: repository_url: https://test.pypi.org/legacy/ \ No newline at end of file