fix: silent skip when stage role not configured - #1022
Conversation
Spec for fixing #973 — change the defaults.roles gate in dispatch workflows to exit 0 with a notice instead of exit 1 with an error when a stage's role is not configured. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
Three tasks: fix per-org dispatch, fix per-repo dispatch, verify tests. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
Same change as per-org dispatch: exit 0 with notice instead of exit 1 with error when a stage's role is not configured. Fixes #973 Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
Change the role-check gate to exit 0 with a notice annotation instead of exit 1 with an error when a stage's role is not configured. This prevents noisy failed workflow runs on orgs that haven't opted into all agents. Fixes #973 Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
|
fullsend review is working on this — view logs |
Site previewPreview: https://6caaad57-site.fullsend-ai.workers.dev Commit: |
ReviewFindingsHigh
Medium
Low
Previous runReview: #1022Head SHA: 92335d4 SummaryThe PR correctly converts the role-check gate from a hard failure ( FindingsMedium
Low
FooterOutcome: request-changes |
|
fullsend fix is working on this — view logs |
…flow The per-org dispatch.yml correctly gates the "Block fork PRs" step on steps.role-check.outputs.skipped != 'true', but the reusable workflow was missing this guard. Without it, an unconfigured fix role on a fork PR still hits exit 1 — the exact noisy failure this branch eliminates. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
The per-org scaffold dispatch.yml was missing the fix→coder role mapping that reusable-dispatch.yml already has. This caused /fs-fix to be silently skipped on all per-org installations with the notice: "Stage 'fix' skipped — role 'fix' not in defaults.roles" The fix stage reuses the coder app (reusable-fix.yml mints a coder token), so it should map to the coder role in the stage-to-role check — matching the per-repo dispatch at reusable-dispatch.yml:267. Root cause: commit 709d8af added code|fix on main, but the merge of PR fullsend-ai#1022 (c7c5717) resolved a conflict in the case statement using the branch version that lacked the fix mapping. Partially addresses fullsend-ai#1725 Signed-off-by: Wayne Sun <gsun@redhat.com>
The per-org scaffold dispatch.yml was missing the fix→coder role mapping that reusable-dispatch.yml already has. This caused /fs-fix to be silently skipped on all per-org installations with the notice: "Stage 'fix' skipped — role 'fix' not in defaults.roles" The fix stage reuses the coder app (reusable-fix.yml mints a coder token), so it should map to the coder role in the stage-to-role check — matching the per-repo dispatch at reusable-dispatch.yml:267. Root cause: commit 709d8af added code|fix on main, but the merge of PR fullsend-ai#1022 (c7c5717) resolved a conflict in the case statement using the branch version that lacked the fix mapping. Partially addresses fullsend-ai#1725 Signed-off-by: Wayne Sun <gsun@redhat.com>
Summary
defaults.rolesgate in both dispatch workflows toexit 0with a::notice::annotation instead ofexit 1with::error::when a stage's role is not configuredid: role-checkto the step and gate downstream steps (fan-out, fork-PR check) onsteps.role-check.outputs.skipped != 'true'stageoutput via a conditional expression so downstream jobs are skipped cleanlyFixes #973
Test plan
make go-vetpassesmake lintpassesTestDispatchWorkflowContentpasses🤖 Generated with Claude Code