Skip to content

Python - Release

Python - Release #1

Workflow file for this run

name: Python - Release
on:
release:
types: [published]
env:
UV_VERSION: "0.4.x"
PYTHON_VERSION: 3.13
jobs:
pypi-release:
name: Build and release Python package
runs-on: ubuntu-latest
# Python release tags start with "py/v*"
if: startsWith(github.ref, 'refs/tags/py/v')
steps:
- uses: actions/checkout@v4
- name: πŸš€ Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
- name: 🐍 Set up Python ${{ env.PYTHON_VERSION }}
run: uv python install ${{ env.PYTHON_VERSION }}
- name: πŸ“¦ Install the project
run: uv sync --python ${{ env.PYTHON_VERSION }} --no-dev --extra test
- name: πŸ§ͺ Check tests
run: make check-tests
- name: πŸ“ Check types
run: make check-types
- name: πŸ“ Check formatting
run: make check-format
- name: 🧳 Build package
run: uv build
- name: 🚒 Publish release on PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}