aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/pypi-publish.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/pypi-publish.yml')
-rw-r--r--.github/workflows/pypi-publish.yml37
1 files changed, 37 insertions, 0 deletions
diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml
new file mode 100644
index 0000000..36192a9
--- /dev/null
+++ b/.github/workflows/pypi-publish.yml
@@ -0,0 +1,37 @@
+name: PyPI Publish
+
+on:
+ release:
+ types: [published]
+
+permissions:
+ contents: read
+
+jobs:
+ deploy:
+ name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check out from Git
+ uses: actions/checkout@v3
+ - name: Get history and tags for SCM versioning to work
+ run: |
+ git fetch --prune --unshallow
+ git fetch --depth=1 origin +refs/tags/*:refs/tags/*
+ - name: Set up Python
+ uses: actions/setup-python@v3
+ with:
+ python-version: '3.10'
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ python -m pip install build
+ - name: Build package
+ run: python -m build
+ - name: Publish package to PyPI
+ if: github.event_name == 'release' && startsWith(github.ref, 'refs/tags')
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ user: __token__
+ password: ${{ secrets.PYPI_API_TOKEN }}