Skip to content

ci: post the release API diff on release PRs - #11342

Open
gustavovalverde wants to merge 1 commit into
ci/zc-api-diff-gatefrom
ci/zc-release-diff
Open

ci: post the release API diff on release PRs#11342
gustavovalverde wants to merge 1 commit into
ci/zc-api-diff-gatefrom
ci/zc-release-diff

Conversation

@gustavovalverde

Copy link
Copy Markdown
Member

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-diff job runs on release PRs only (release-plz-* head with the A-release label). It compares the last v* 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-changelog input and changelog output, 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

actionlint and 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.

@v12-auditor

v12-auditor Bot commented Aug 26, 2026

Copy link
Copy Markdown

Warning

No auditable source files found in this PR's diff.

@mergify

mergify Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

馃敶 1 of 1 protections blocking 路 waiting on 鉀擄笍 dependency

Protection Waiting on
馃敶 鉀擄笍 Depends-On Requirements 鉀擄笍 dependency

馃敶 鉀擄笍 Depends-On Requirements

Waiting for

This rule is failing.

Requirement based on the presence of Depends-On in the body of the pull request

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.

2 participants