|
@@ -0,0 +1,47 @@
|
|
|
+name: Publish Python 🐍 distributions 📦 to PyPI and TestPyPI
|
|
|
+
|
|
|
+on:
|
|
|
+ # release:
|
|
|
+ # types: [published]
|
|
|
+ workflow_dispatch: ~
|
|
|
+ push:
|
|
|
+ branches: [master]
|
|
|
+ tags: [v*]
|
|
|
+
|
|
|
+jobs:
|
|
|
+ build-n-publish:
|
|
|
+ name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ # permissions:
|
|
|
+ # id-token: write
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v4
|
|
|
+
|
|
|
+ - name: Set up Python
|
|
|
+ uses: actions/setup-python@v2
|
|
|
+ with:
|
|
|
+ python-version: '3.12'
|
|
|
+
|
|
|
+ - name: Install Dependencies
|
|
|
+ run: |
|
|
|
+ python -m pip install --upgrade pip wheel setuptools poetry
|
|
|
+ poetry config virtualenvs.in-project true
|
|
|
+ poetry install
|
|
|
+
|
|
|
+ - name: Build a binary wheel and a source tarball
|
|
|
+ run: |
|
|
|
+ poetry build
|
|
|
+
|
|
|
+ # - name: Publish distribution 📦 to Test PyPI
|
|
|
+ # uses: pypa/gh-action-pypi-publish@release/v1
|
|
|
+ # with:
|
|
|
+ # repository_url: https://test.pypi.org/legacy/
|
|
|
+ # packages_dir: dist/
|
|
|
+ # password: ${{ secrets.PYPI_TOKEN }}
|
|
|
+
|
|
|
+ - name: Publish distribution 📦 to PyPI
|
|
|
+ if: startsWith(github.ref, 'refs/tags')
|
|
|
+ uses: pypa/gh-action-pypi-publish@release/v1
|
|
|
+ with:
|
|
|
+ packages_dir: dist/
|
|
|
+ password: ${{ secrets.PYPI_TOKEN }}
|