Skip to content

test(pr-validation): fixture for the approval and reuse flow - #920

Closed
bedatty wants to merge 2 commits into
developfrom
test/breaking-change-approval-flow
Closed

bedatty wants to merge 2 commits into
developfrom
test/breaking-change-approval-flow

Conversation

@bedatty

@bedatty bedatty commented Oct 16, 2026

Copy link
Copy Markdown
Contributor
Lerian

GitHub Actions Shared Workflows


Description

Fixture for the approval half of the breaking-change gate, paired with #906 which exercises the rejection half.

Not meant to be merged. The ! in the commit is the test fixture; merging it would force a real major bump.

What to do with it

  1. Approve the pending breaking-approval deployment — needs someone from g_github_devops who is not the PR author, since prevent_self_review is on.
  2. I then push a commit that does not touch the breaking commit.
  3. The gate should not ask again.

What each step proves

Step Expected
After approving ✅ Breaking change approved; breaking-change stays, awaiting-breaking-approval goes; comment records <!-- breaking-change-approved: … run=… -->
After the extra commit Approve Breaking Change skipped, check green, no new request in the reviewers' queue
If the breaking commit were reworded fingerprint changes → asks again (not exercised here; #906 covers rejection)

The reuse is not taken on trust: the record names a run, and the gate verifies that run really carried an Environment approval before honouring it.

Type of Change

  • test: Adding or updating tests

Breaking Changes

None. The ! is the fixture. This PR is closed, never merged.

Testing

  • YAML syntax validated locally
  • Triggered a real workflow run on a caller repository using @this-branch or the beta tag
  • Verified all existing inputs still work with default values
  • Confirmed no secrets or tokens are printed in logs
  • Checked that unrelated workflows are not affected

The run is the test. The detector was confirmed locally before pushing: has-breaking-changes=true.

Breaking change acknowledged: I understand that this PR intentionally introduces a breaking change and requires the next release to be a major version.

Related Issues

Deliberately marked breaking so the gate fires. Exists to test that an
approval survives a later push that leaves the breaking commit alone,
and is never meant to be merged.
@bedatty
bedatty requested a review from a team as a code owner October 16, 2026 21:11
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: LerianStudio/github-actions-shared-workflows/.coderabbit.yml
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 53a01314-dca1-43f6-8e83-a7017c945369
📥 Commits

Reviewing files that changed from the base of the PR and between 3104682 and 32b2643.

📒 Files selected for processing: 1
  • docs/.fixtures/approval-flow.md
+---------------------------------------+
| I've seen cleaner diffs in a blender. |
+---------------------------------------+
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@lerian-studio

lerian-studio commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Note

✅ Breaking change approved

Approved by a reviewer. 💥 The next release will be a major version.

Gated by rule develop <- '*' · How this gate works

@lerian-studio lerian-studio added size/XS PR changes < 50 lines breaking-change Callers must update their workflow configuration after this change documentation Improvements or additions to documentation awaiting-breaking-approval A breaking change on this PR is waiting on a human decision labels Oct 16, 2026
@bedatty
bedatty deployed to breaking-approval October 16, 2026 21:12 — with GitHub Actions Active
@lerian-studio

lerian-studio commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

🔍 Lint Analysis

Check Files Scanned Status
YAML Lint no changes ⏭️ skipped
Action Lint no changes ⏭️ skipped
Pinned Actions no changes ⏭️ skipped
Markdown Link Check 1 file(s) ✅ success
Spelling Check 1 file(s) ✅ success
Shell Check no changes ⏭️ skipped
README Check no changes ⏭️ skipped
Composite Schema no changes ⏭️ skipped
Deployment Matrix no changes ⏭️ skipped

🔍 View full scan logs

@lerian-studio

lerian-studio commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

🔍 PR Validation Summary

✅ PR Mergeable — no blocking failures

Check Status Blocking
Source Branch ✅ success yes
PR Title ✅ success yes
PR Description ✅ success yes
Breaking Change Guard ✅ success yes
Commit Signatures ✅ success yes
PR Size ✅ success no
Auto Labels ✅ success no
PR Metadata ✅ success no

🔍 View workflow run

@lerian-studio lerian-studio removed the awaiting-breaking-approval A breaking change on this PR is waiting on a human decision label Oct 16, 2026
@lerian-studio

This comment has been minimized.

@lerian-studio lerian-studio added the review-ready Required checks passed — CodeRabbit is cleared to review label Oct 16, 2026
@coderabbitai

This comment has been minimized.

@lerian-studio lerian-studio added awaiting-breaking-approval A breaking change on this PR is waiting on a human decision and removed awaiting-breaking-approval A breaking change on this PR is waiting on a human decision labels Oct 16, 2026
@lerian-studio

Copy link
Copy Markdown
Contributor

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Pull request base or head changed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@bedatty

bedatty commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

Fixture closed — it did its job.

Exercised live, with a real approval from a g_github_devops reviewer:

Approval recorded <!-- breaking-change-approved: b553ad67939c03f4 run=38967637198 -->
breaking-change after approval stayed
awaiting-breaking-approval after approval removed
Ordinary commit pushed afterwards Approve Breaking Change skipped, no new request

Paired with #906, which covered the rejection half: comment turned ⛔ Breaking change rejected, the pull request closed itself, and the branch was left untouched.

Never merged on purpose — the ! in its commit would have forced a real major bump. The two fixes these runs surfaced are in #921.

@bedatty bedatty closed this Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Callers must update their workflow configuration after this change documentation Improvements or additions to documentation review-ready Required checks passed — CodeRabbit is cleared to review size/XS PR changes < 50 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants