Repository navigation
ci(dispatch): skip retro for scaffold PRs - #8057
shairevivo wants to merge 1 commit into
Conversation
Co-authored-by: Codex <noreply@openai.com> Signed-off-by: Shai Revivo <srevivo@redhat.com>
PR Summary by QodoSkip automatic retro for scaffold PRs
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo
1. Per-org scaffold PRs still run retros
|
| case "${PR_HEAD_REF}" in | ||
| fullsend/onboard|fullsend/offboard|fullsend/scaffold-install) |
There was a problem hiding this comment.
1. Per-org scaffold prs still run retros 📘 Rule violation ⚙ Maintainability
The new scaffold-branch guard in reusable-dispatch.yml is absent from the per-org dispatch.yml, whose closed-PR route still sets STAGE="retro". Closing a PR on any of the three scaffold branches through the per-org route therefore continues to dispatch a retro, and the new regression test exercises only the per-repo route.
Agent Prompt
## Issue description
The per-repo route now skips retro for three scaffold branches, but the per-org route still dispatches retro for them.
## Fix Focus Areas
- .github/workflows/reusable-dispatch.yml[288-295]
- internal/scaffold/fullsend-repo/.github/workflows/dispatch.yml[215-219]
## Recommended Fix
Apply the same branch guard to the per-org route and test both routes. If the difference is intentional, add an inline comment explaining why it is specific to the per-repo workflow.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| case "${PR_HEAD_REF}" in | ||
| fullsend/onboard|fullsend/offboard|fullsend/scaffold-install) | ||
| echo "::notice::Skipping retro for fullsend scaffold PR on ${PR_HEAD_REF}" |
There was a problem hiding this comment.
2. Unrelated pull requests skip retros 🐞 Bug ≡ Correctness
The closed route decides whether to suppress retro using only PR_HEAD_REF, without verifying that the pull request is a scaffold PR. If a contributor closes a substantive PR from a fork branch named fullsend/onboard or fullsend/offboard, the caller forwards the event but the route emits no stage, so the automatic retro never runs.
Agent Prompt
## Issue description
The closed-PR route treats predictable branch names as proof that a PR is a scaffold PR, allowing unrelated PRs to bypass automatic retro.
## Fix Focus Areas
- .github/workflows/reusable-dispatch.yml[119-123]
- .github/workflows/reusable-dispatch.yml[284-295]
## Recommended Fix
Require a trustworthy scaffold ownership signal in addition to the exact branch name before suppressing retro; route PRs with missing or mismatched ownership data to retro. Add a regression case for an unrelated PR using a scaffold-named branch.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
|
🤖 Finished Review · ✅ Success · Started 7:58 AM UTC · Completed 8:09 AM UTC Commit: Runtime: pi · Model: openai/gpt-6.1-sol → gpt-6.1-sol · Effort: high · Cost: $1.68 |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Risk Assessment: moderate (2/5) DetailsSmall 2-file change closely matching linked issue scope with test coverage, but assigned moderate risk due to modifying high-churn protected CI workflow reusable-dispatch.yml without a feature toggle. |
ReviewFindingsMedium
Labels: The PR changes GitHub Actions routing for automatic retro dispatch, matching the repository's CI and dispatch component labels. |
| # (lifecycle accounting). See ADR 0054 #5223 note. | ||
| STAGE="retro" | ||
| case "${PR_HEAD_REF}" in | ||
| fullsend/onboard|fullsend/offboard|fullsend/scaffold-install) |
There was a problem hiding this comment.
[medium] protected-path
This PR modifies a protected infrastructure file: .github/workflows/reusable-dispatch.yml. Issue #8043 and the PR description explain the scaffold-retro suppression, but protected-path changes always require human approval, regardless of context.
Suggested fix: Obtain a human maintainer's approval of the workflow routing change.
|
Closing this PR as it seems like the issue is trying to fix legacy per org behaviour. |
Summary
Skips automatic retro dispatch for fullsend scaffold PRs, whose shim-only changes have no substantive work for a retro agent. Ordinary closed PRs and manual /fs-retro dispatches are unchanged.
Related Issue
Fixes #8043
Changes
Testing
Dispatch and cross-forge evidence
Checklist