.github/workflows/python-publish.yml #11
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Upload Python Package | |
on: | |
release: | |
types: [published] | |
permissions: | |
contents: read | |
id-token: write # Needed for trusted PyPI publishing. | |
jobs: | |
release-build: | |
name: Build Python Package | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the repository. | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
# Set up Python environment. | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
# Install build tools and dependencies. | |
- name: Install Build Tools | |
run: | | |
python -m pip install --upgrade pip setuptools wheel build | |
# Build the package distributions (source and wheel). | |
- name: Build Distributions | |
run: python -m build | |
# Upload the built distributions as artifacts for later use. | |
- name: Upload Distributions | |
uses: actions/upload-artifact@v4 | |
with: | |
name: release-distributions | |
path: dist/ | |
retention-days: 7 # Keep artifacts for debugging for 7 days. | |
pypi-publish: | |
name: Publish to PyPI | |
runs-on: ubuntu-latest | |
needs: release-build | |
environment: | |
name: pypi | |
url: https://pypi.org/project/turbopi-fast-sdk/ | |
steps: | |
# Download the built distributions from the previous job. | |
- name: Download Distributions | |
uses: actions/download-artifact@v4 | |
with: | |
name: release-distributions | |
path: dist/ | |
# Publish the distributions to PyPI. | |
- name: Publish to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
packages-dir: dist/ | |
env: | |
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }} |