Release checklist
Releases are fully automated by
release-plz (see Changelog
for the shipping flow). This checklist is the gate a maintainer runs
before merging the chore: release PR — merging that PR tags the version
and fires off the prebuilt binary builds.
Compatibility sign-off gate
Do not merge the chore: release PR until all of the following are true:
-
ci,host-matrix, andcompatibility-matrixGitHub Actions jobs are green on the PR. - Compatibility matrix still matches the BOINC branches we intend to support.
- A live
8.2.xBOINC daemon smoke has passed on at least one supported host OS against the PR's HEAD. - If BOINC-facing code changed in this release window, a live legacy
smoke (
7.16.xor7.20.x) also passed. - The smoke checklist was completed against the release candidate.
- The
CHANGELOG.mddiff in thechore: releasePR reads cleanly — every entry is a user-recognizable change, and no internal-only noise slipped in because achore:commit was mislabeled asfeat:/fix:.
Manual sign-off record
Capture the release sign-off in a comment on the chore: release PR using a
short record like this:
Compatibility sign-off:
- BOINC 8.2.x on <host OS>: PASS/FAIL
- BOINC 7.20.x or 7.16.x on <host OS>: PASS/FAIL (required for BOINC-facing changes)
- Smoke checklist: PASS/FAIL
- Compatibility CI fixtures: PASS/FAIL
Commands
Current-branch live validation:
BOINCRS_PASSWORD_FILE=/path/to/gui_rpc_auth.cfg \
cargo test --test live_local_boinc -- --ignored --nocapture
Fixture compatibility checks:
cargo test --test compatibility_matrix_tests
Full test + lint pass:
cargo fmt --check
cargo clippy -- -D warnings
cargo test --locked
cargo test --doc --locked
After you merge
You do not manually tag, publish, or upload binaries — that happens automatically:
- Merging the
chore: releasePR causes release-plz to push thevX.Y.Ztag and create the GitHub Release (notes sourced fromCHANGELOG.md). - The tag push triggers
.github/workflows/release.yml, which builds the Linux / macOS / Windows binaries and attaches them to the release.
Watch the release workflow run and confirm all three OS artifacts are
attached. If an OS build fails, re-run that job; the release itself is
already live and is not affected.