Skip to content

docs(release): realign release-checklist templates with per-PR changelogs - #10853

Merged
gustavovalverde merged 1 commit into
mainfrom
docs/release-checklist-fixes
Jul 1, 2026
Merged

docs(release): realign release-checklist templates with per-PR changelogs#10853
gustavovalverde merged 1 commit into
mainfrom
docs/release-checklist-fixes

Conversation

@gustavovalverde

Copy link
Copy Markdown
Member

Motivation

The manual release-checklist templates describe a release flow Zebra no longer uses. They tell the releaser to curate the changelog from scratch at release time (move entries out of [Unreleased], delete trivial ones, combine duplicates, run cargo semver-checks per crate to pick the release level). Under the per-PR model, those entries are already authored and curated in each PR, and breaking changes are declared per PR with a conventional-commit ! and enforced by the semver-checks CI gate. The hotfix template also points at two things that do not exist.

Solution

In release-checklist-legacy.md, the changelog and crate-version steps now rename the already-curated [Unreleased] heading to the version and confirm the existing entries, instead of curating from scratch. The manual cargo semver-checks / cargo public-api / ziff tooling moves into a "Verify the API bump (backstop)" subsection, framed as a fallback behind the per-PR gate (and for when the gate cannot run, such as a yanked previous release).

In hotfix-release-checklist.md, the gate references check-no-git-dependencies (the real check name) instead of check_no_git_refs_in_cargo_lock, and the pre-release test links zfnd-ci-integration-tests-gcp.yml instead of the nonexistent ci-tests.yml.

The automated release-plz flow is unchanged; these are the manual fallback templates.

AI Disclosure

AI tools were used: Claude drafted the template edits.

…logs

Rewrite the legacy fallback checklist so the changelog and crate-changelog
steps finalize the per-PR `[Unreleased]` entries instead of curating them from
scratch at release time, and reframe the manual semver-checks step as a
verification backstop behind the per-PR cargo-semver-checks gate.

Fix two dead references in the hotfix checklist: the nonexistent
`check_no_git_refs_in_cargo_lock` check name becomes `check-no-git-dependencies`,
and the nonexistent `ci-tests.yml` workflow link becomes
`zfnd-ci-integration-tests-gcp.yml`.
Copilot AI review requested due to automatic review settings June 29, 2026 21:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Zebra's two manual release-checklist PR templates to match the project's current per-PR changelog model. Previously the templates instructed the releaser to curate the changelog from scratch at release time and to run cargo semver-checks per crate to pick a release level. Under the per-PR model those entries are already authored/curated in each PR, so the templates now rename the existing [Unreleased] section and only confirm the entries, with the manual API-diff tooling demoted to a fallback "backstop" subsection. It also corrects two stale references in the hotfix template. These are manual-fallback templates only; the automated release-plz flow is untouched.

Changes:

  • Rewrites the changelog and crate-version steps in release-checklist-legacy.md to rename/confirm already-curated [Unreleased] entries, and moves cargo semver-checks / cargo public-api / ziff into a "Verify the API bump (backstop)" subsection.
  • Fixes the hotfix template's CI check reference from check_no_git_refs_in_cargo_lock to the real check-no-git-dependencies (verified against tests-unit.yml).
  • Fixes the hotfix template's pre-release test link from the nonexistent ci-tests.yml to zfnd-ci-integration-tests-gcp.yml (verified to exist).

Assessment: The two corrected references are accurate. The main concern (IMPORTANT) is that the new backstop section asserts a "per-PR cargo-semver-checks CI gate" already enforces breaking-change markers, but no such workflow exists anywhere in the repository — only a PR-title conventional-commits check, which does not inspect the API surface. This makes the "backstop" framing potentially misleading and should be confirmed or reworded.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
.github/PULL_REQUEST_TEMPLATE/release-checklist-legacy.md Reframes changelog/crate-version steps around per-PR [Unreleased] entries; adds a "Verify the API bump (backstop)" subsection that references a CI gate not present in the repo.
.github/PULL_REQUEST_TEMPLATE/hotfix-release-checklist.md Corrects the CI check name to check-no-git-dependencies and the pre-release test link to zfnd-ci-integration-tests-gcp.yml (both verified).

Comment thread .github/PULL_REQUEST_TEMPLATE/release-checklist-legacy.md
@conradoplg conradoplg self-assigned this Jun 30, 2026
@gustavovalverde

Copy link
Copy Markdown
Member Author

admin-merging because of flaky tests

@gustavovalverde
gustavovalverde merged commit 04cf836 into main Jul 1, 2026
43 checks passed
@gustavovalverde
gustavovalverde deleted the docs/release-checklist-fixes branch July 1, 2026 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants