Release and PyPI publishing¶
Releases are designed for GitHub Actions and PyPI Trusted Publishing, so no long-lived PyPI API token needs to be stored in repository secrets.
One-time PyPI setup¶
After the first project is created on PyPI, configure a Trusted Publisher:
- Owner:
Barcelona-DEV - Repository:
django-native-jsonform - Workflow:
release.yml - Environment:
pypi
Create a protected GitHub environment named pypi and optionally require
reviewers.
Release checklist¶
- Update the version in
pyproject.toml. - Move changelog entries from
Unreleasedinto a dated version section. - Merge the release pull request into
main. - Create a GitHub Release tagged
vX.Y.Z. - The release workflow builds the sdist/wheel, checks their metadata, and publishes them using OIDC.
- Confirm the package page and installation in a clean environment.
Documentation publishing¶
The documentation workflow deploys this versioned docs/ wiki to GitHub Pages
from main. Repository settings must use GitHub Actions as the Pages source.
The documentation is kept in the main repository so edits are reviewed beside the code and remain available in source distributions.
TestPyPI¶
For a release rehearsal, create a separate manual workflow or run:
Do not publish a production version number to TestPyPI if the same immutable artifact/version will later be needed on PyPI; use a development suffix.