Skip to content

Release

Release #1

Workflow file for this run

name: Release
on:
release:
types: [published]
workflow_dispatch:
inputs:
upload_to_pypi:
description: 'Upload to PyPI'
required: true
default: 'false'
type: choice
options:
- 'true'
- 'false'
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install build dependencies
run: |
python -m pip install --upgrade pip
pip install hatch twine
- name: Build package
run: |
hatch build
- name: Check package
run: |
twine check dist/*
- name: Publish to PyPI
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && inputs.upload_to_pypi == 'true')
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
run: |
twine upload dist/*
- name: Upload release artifacts
uses: actions/upload-artifact@v4
with:
name: release-dist
path: dist/