Release process
makewfs publishes distributions with PyPI Trusted Publishing. The repository
workflow is .github/workflows/release.yml, and its production job uses the
GitHub environment named pypi.
Prepare
- Set the release version in
src/makewfs/__about__.py,CITATION.cff, and the changelog. - Run the complete quality gate documented in
CONTRIBUTING.md. - Build the sdist and wheel, run
twine check dist/*, and install the wheel in a clean environment. - Commit and push the release-ready source to
main.
Publish
Create a GitHub release with a semantic-version tag such as 1.0.0. Publishing
the release starts the Release workflow, which rebuilds the distributions,
checks their metadata, uploads them as a workflow artifact, and publishes them
to PyPI through the pypi environment.
A manual workflow_dispatch publishes to TestPyPI through the separate
testpypi environment. It never publishes to production PyPI.
After publication, verify the PyPI project page and install the exact version
from PyPI in a new environment. Confirm makewfs --version and run one minimal
configuration through WavefrontSensor.expose.