fix(release): prevent stale beta validation evidence#103798
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bfb5ef0837
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const messageIsRevert = /^(?:[a-z][a-z0-9-]*(?:\([^)]+\))?!?:\s*)?revert\b/i.test( | ||
| paragraphs[0] ?? "", | ||
| ); | ||
| for (const [index, paragraph] of paragraphs.entries()) { | ||
| const revertedHash = paragraph.match(/^This reverts commit ([0-9a-f]{7,40})\.$/i)?.[1]; | ||
| if (!revertedHash) { | ||
| continue; | ||
| } | ||
| // GitHub squash messages can embed a reverted intermediate commit. Its | ||
| // marker follows the corresponding bullet and does not revert the squash. | ||
| if (!messageIsRevert && /^\*\s+Revert\b/i.test(paragraphs[index - 1] ?? "")) { |
There was a problem hiding this comment.
Pass the subject into revert-marker detection
When a squash-merge revert has a subject like chore: revert ... or Revert ... (#85527) and a body whose marker follows * Revert ..., this helper now skips the marker because it only sees the body in sourceCommits/revertedCommitState (standardRevertedHash(body)). The new tests pass the full subject + body, but the production caller does not, so those revert commits are treated as active changes and their reverted PRs can remain in beta/release evidence.
Useful? React with 👍 / 👎.
5eafb26 to
859ee7d
Compare
|
Merged via squash.
|
* fix(release): ignore nested squash revert markers * fix(release): preserve squash revert targets * docs(release): state installer doctor contract * fix(release): recognize conventional squash reverts
Related: #103144
What Problem This Solves
Resolves a problem where release maintainers validating an exact beta candidate could receive stale, incomplete, or cross-build evidence and only discover it late in publication.
Why This Change Was Made
Makes the release-note verifier preserve real squash-revert targets, recognize the conventional revert body emitted by GitHub, and ignore nested revert markers. It also documents the installer smoke contract next to the enforced doctor checks. Concurrent PR #103796 absorbed the upgrade-proxy, installer-evidence, and Codex restart-harness fixes from the original stack; this PR now contains only the remaining upstream fixes. The current
mainworkflow separately pins validated Kova revision24c26969e57d4d49f9d1a5071af85dd3d79daa2dat both invocation sites.User Impact
Release maintainers get accurate contribution-ledger evidence when merged pull requests are later reverted through either supported squash-revert form. Product runtime behavior is unchanged.
Evidence
run_c6f74d8162f9;check:changedpassed.main.