Skip to content

ci(pr-automation): skip semver for GitHub-only changes - #2069

Closed
Benoît Cortier (CBenoit) wants to merge 1 commit into
masterfrom
cbenoit-pr-automation-skip-tooling-semver
Closed

Benoît Cortier (CBenoit) wants to merge 1 commit into
masterfrom
cbenoit-pr-automation-skip-tooling-semver

Conversation

@CBenoit

Copy link
Copy Markdown
Member

Record Cargo API compatibility as not applicable when the immutable exact base/head diff is nonempty and contains only .github/** paths.

Bind the exemption to both SHAs through classification publication, while every other diff keeps the existing fail-closed cargo-semver-checks path.

Record Cargo API compatibility as not applicable when the immutable exact base/head diff is nonempty and contains only `.github/**` paths.

Bind the exemption to both SHAs through classification publication, while every other diff keeps the existing fail-closed cargo-semver-checks path.
Copilot AI balanced review requested due to automatic review settings October 1, 2026 18:01
@github-actions github-actions Bot added automation-failed Exact-head automated classification or review failed or was unavailable risk/unknown Risk could not be determined automatically; needs maintainer-level scrutiny scope/tooling Build, CI, release, or developer tooling size/M Size: up to 449 counted lines and 10 files; exceeds S in either measure labels Oct 1, 2026

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.

Copilot review overview

🟡 Changes recommended

Published classification checks remain head-only and can reuse a stale exemption after the PR base advances.

Review effort: Balanced
Findings: 1 High severity · 1 Low severity

Open (2)
What changed in this PR

Adds a .github/**-only exemption from Cargo semver checks while binding the in-flight classification to exact base/head SHAs.

Changes:

  • Detects nonempty GitHub-only diffs and skips semver installation/execution.
  • Propagates and validates the base SHA during classification publication.
  • Adds tests and documentation for the exemption.

Protocol review was skipped because these CI-only changes do not affect RDP behavior.

File Description
.github/​workflows/​pr-automation.yml Detects eligible diffs and propagates base SHA.
.github/​workflows/​pr-automation.intent.md Records the exemption invariant.
.github/​pr-automation/​write-state.js Checks base freshness before mutations.
.github/​pr-automation/​resolve-state.js Accepts base-bound not-applicable status.
.github/​pr-automation/​current-head.js Adds base SHA validation.
.github/​pr-automation/​automation.test.js Tests exemption and stale-base handling.
.github/​PR_AUTOMATION.md Documents skipped semver execution.

];
return {
ok: true, mode: "classification", expectedSha, forced, labelSets, addLabels, comments, auditComments,
...(semverStatus === "not-applicable" ? { expectedBaseSha } : {}),
Comment on lines +25 to +29
github, owner, repo, pullNumber, expectedHeadSha, expectedBaseSha,
}) {
const data = await readPullRequest({ github, owner, repo, pullNumber });
if (data.state !== "open" || data.head?.sha !== expectedHeadSha) {
if (data.state !== "open" || data.head?.sha !== expectedHeadSha ||
(expectedBaseSha !== undefined && data.base?.sha !== expectedBaseSha)) {
@CBenoit

Benoît Cortier (CBenoit) commented Oct 7, 2026 •

Copy link
Copy Markdown
Member Author

PR automation is failing because of a picky-krb 0.12.5 incompatibility, fixed on master by #2074. Please rebase on master to fix it.

Update: no rebase needed anymore. picky-krb 0.12.5 was yanked from crates.io (re-released as 0.13.0), so the API check builds again without changes to this branch. PR automation has been re-run here and passes.

@github-actions github-actions Bot added risk/low Self-contained change with no cross-crate behavioral effect triage/overlap Possible overlap with another pull request; advisory only and removed risk/unknown Risk could not be determined automatically; needs maintainer-level scrutiny automation-failed Exact-head automated classification or review failed or was unavailable labels Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

This pull request may overlap with #2071.

Both pull requests modify the semver compatibility job in .github/workflows/pr-automation.yml and its surrounding state plumbing (resolve-state.js, write-state.js, intent docs, and automation tests). PR 2071 reworked how cargo-semver-checks runs with locked dependencies; this PR adds a skip path for GitHub-only diffs and base-SHA binding in the same job and scripts, so they currently share the semver-job and automation-state scope.

This notice is advisory only. Automated review continues as usual, and how these pull requests relate is for maintainers and authors to decide.

Note

LLM-assisted content (no human feedback).

This branch was successfully deployed

1 active deployment
llm-providers — 63acda07 Deployed Oct 1, 2026 by CBenoit via Classify pull request #1561
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk/low Self-contained change with no cross-crate behavioral effect scope/tooling Build, CI, release, or developer tooling size/M Size: up to 449 counted lines and 10 files; exceeds S in either measure triage/overlap Possible overlap with another pull request; advisory only

Development

Successfully merging this pull request may close these issues.

2 participants