Release checklist¶
This checklist describes the release process implemented by
.github/workflows/main.yml. Pushing a v* tag runs the full test matrix,
builds the distribution, and publishes it to PyPI through the release
environment.
Prepare the release¶
Choose a PEP 440 version and identify the previous release tag.
Review merged changes since the previous tag for compatibility risks, deprecations, and migration notes.
Update
onnx_ir.__version__insrc/onnx_ir/__init__.pyin a dedicated pull request.Confirm that the supported Python and ONNX versions in
pyproject.tomlandnoxfile.pyagree.Draft release notes grouped by user-visible changes. Call out breaking changes, deprecations, security fixes, and contributor credits.
Validate the release commit¶
Merge the version-bump pull request and use its commit on
mainas the release commit.Confirm all required checks pass, including lint, the supported Python and operating-system test matrix, ONNX weekly, package build, and documentation builds.
Build the distribution from the release commit with
python -m buildand install the resulting wheel in a clean environment.Verify that the installed version matches the intended release:
python -c "import onnx_ir; print(onnx_ir.__version__)"
Smoke test loading and saving a representative model with the installed package.
Publish¶
Create and push a tag named
v<version>from the verified release commit.Approve the protected
releaseenvironment when prompted.Confirm the tag workflow publishes the distribution successfully.
Verify the new files and version on PyPI.
Create the GitHub release from the same tag and publish the prepared release notes.
Verify and monitor¶
Install
onnx-ir==<version>from PyPI in a clean environment and repeat the import and model round-trip smoke tests.Confirm the GitHub release, PyPI project, and documentation site link to the expected version and guidance.
Monitor CI, packaging reports, and new issues for regressions. Add urgent compatibility notes to the release and documentation when needed.