Release Checklist
FreshForge 0.1.0a5 is released as the first PyPI alpha package and as a
GitHub prerelease with checked package artifacts.
Local Verification
Run the acceptance checks from a clean checkout:
python -m pip install -e .[dev]
python -m ruff check .
python -m pytest
sphinx-build -b html docs _build/html -W
python -m build
twine check dist/*
Inspect the release artifact contract:
the source distribution includes tracked files under
examples/;the wheel metadata includes the
freshforge.providersentry-point group;freshforge providers --jsonlistsfreshforge.exampleandfreshforge.fixture;freshforge plan examples/ecosystem_adapter_workflow.yaml --jsonresolves both providers.freshforge --versionreportsfreshforge 0.1.0a5.freshforge run --helpis available.freshforge runsupports--namespaceand JSON summaries.freshforge matrix --helpis available.freshforge matrix plan examples/run_matrix.yaml --jsonsucceeds.
Tag And Release
The release tag is v0.1.0a5 and the GitHub release title is
FreshForge 0.1.0a5.
Closeout sequence:
Merge the Phase 12 pull request after CI passes.
Verify the Docs workflow deploys successfully on
main.Verify the live docs root, examples page, and this release checklist page.
Confirm the PyPI trusted publisher is configured for project
freshforgewith repositoryUBC-FRESH/freshforge, workflowrelease.yml, and environmentpypi.Create and push tag
v0.1.0a5.Wait for the release-artifact workflow to pass for the tag and publish to PyPI.
Download or otherwise inspect the workflow-built artifacts.
Create the GitHub prerelease and attach the checked artifacts.
Verify a clean PyPI install reports
freshforge 0.1.0a5.
PyPI Publication
PyPI publication uses GitHub trusted publishing through the release workflow’s
pypi environment. Do not push the release tag until the corresponding PyPI
publisher has been configured by a maintainer.