|
|
@@ -0,0 +1,48 @@
|
|
|
+name: Publish
|
|
|
+# (tagged versions to PyPI, commits to TestPyPI)
|
|
|
+
|
|
|
+on:
|
|
|
+ # Triggers the workflow on push events but only for the master branch
|
|
|
+ push:
|
|
|
+ branches: master
|
|
|
+ tags:
|
|
|
+ - '*'
|
|
|
+
|
|
|
+jobs:
|
|
|
+ build-n-publish:
|
|
|
+ name: Build and publish Python distributions to PyPI and TestPyPI
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@master
|
|
|
+ with:
|
|
|
+ fetch-depth: 0
|
|
|
+ - name: Set up Python 3.10
|
|
|
+ uses: actions/setup-python@v3
|
|
|
+ with:
|
|
|
+ python-version: "3.10"
|
|
|
+ - name: Install pypa/build
|
|
|
+ run: >-
|
|
|
+ python -m
|
|
|
+ pip install
|
|
|
+ build
|
|
|
+ --user
|
|
|
+ - name: Build a binary wheel and a source tarball
|
|
|
+ run: >-
|
|
|
+ python -m
|
|
|
+ build
|
|
|
+ --sdist
|
|
|
+ --wheel
|
|
|
+ --outdir dist/
|
|
|
+ .
|
|
|
+ - name: Publish distribution to Test PyPI
|
|
|
+ uses: pypa/gh-action-pypi-publish@release/v1
|
|
|
+ with:
|
|
|
+ password: ${{ secrets.TEST_PYPI_API_TOKEN }}
|
|
|
+ repository_url: https://test.pypi.org/legacy/
|
|
|
+ skip_existing: true
|
|
|
+ - name: Publish distribution to PyPI
|
|
|
+ if: startsWith(github.ref, 'refs/tags')
|
|
|
+ uses: pypa/gh-action-pypi-publish@release/v1
|
|
|
+ with:
|
|
|
+ password: ${{ secrets.PYPI_API_TOKEN }}
|