ci: post the release API diff on release PRs - #11342
Open
gustavovalverde wants to merge 1 commit into
Open
Conversation
|
Warning No auditable source files found in this PR's diff. |
gustavovalverde
force-pushed
the
ci/zc-release-diff
branch
from
August 26, 2026 19:55
7de11a0 to
01334f4
Compare
Contributor
Merge Protections馃敶 1 of 1 protections blocking 路 waiting on 鉀擄笍 dependency
馃敶 鉀擄笍 Depends-On RequirementsWaiting for
This rule is failing.Requirement based on the presence of
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Release reviewers run
zc <previous_tag>by hand to check that each crate's release level matches its actual API surface since the last release. The answer belongs on the release PR itself, refreshed as release-plz updates it.Solution
A
release-api-diffjob runs on release PRs only (release-plz-*head with theA-releaselabel). It compares the lastv*tag with the PR head and posts the Keep a Changelog draft of the full public API and dependency diff as a sticky comment, updated in place on every sync. Advisory only:fail-on: none, not part of the required gate, since every change in the range already passed the per-PR gate.The draft comes from the zc action's
with-changeloginput andchangelogoutput, pinned to the branch that adds them; the pin moves to the release tag once that ships. Comments over the 65536-character cap are truncated at a section boundary with a pointer to the full diff in the job log.Stacked on #11327.
Tests
actionlintand YAML parse clean; the comment script is syntax-checked and its truncation logic exercised against synthetic documents over and under the cap, with and without section headings. The job condition mirrors the proven release-readiness predicate, but its first live run happens on the next release-plz PR: reviewers should expect that run to be the real validation.AI Disclosure
Claude drafted the workflow change, the zc surface it consumes, and this description; validation runs were reviewed by the author.