ci(#626): surface ok-to-test gate denial in Checks tab and docs - #635
Conversation
PR Summary by QodoExpose ok-to-test denial via Checks warning and document gate
AI Description
Diagram
High-Level Assessment
Files changed (3)
|
|
🤖 Finished Review · ✅ Success · Started 7:24 PM UTC · Completed 7:36 PM UTC |
Code Review by Qodo
1.
|
ReviewFindingsMedium
Low
Previous runReviewFindingsMedium
Low
Previous run (2)ReviewFindingsMedium
Low
Labels: PR adds substantial documentation section to CONTRIBUTING.md |
|
🤖 Finished Review · ✅ Success · Started 8:14 PM UTC · Completed 8:26 PM UTC |
The gate comment posted when functional tests are skipped for an unauthorized PR is easy to miss among other bot review comments. Emit a ::warning:: workflow annotation from check-e2e-authorization.sh so the denial also surfaces in the PR's Checks tab. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
Neither CONTRIBUTING.md nor docs/ mentioned the ok-to-test label. Reviewers who approve GitHub's first-time-contributor workflow prompt can reasonably believe they've unblocked all CI, including functional tests, when that approval has no effect on the separate pull_request_target authorization gate. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
bca4af0 to
5e7ce00
Compare
|
🤖 Finished Review · ✅ Success · Started 9:16 PM UTC · Completed 9:31 PM UTC |
write_error_output() exits before reaching the ::warning:: annotation at the bottom of the script, so a gh API failure (reason=error) never surfaced in the Checks tab despite still denying e2e authorization. Extract the annotation into a shared emit_denial_warning() helper called from both the ERR trap and the normal fall-through path. Adds test coverage for the ERR trap (reason=error) and stale ok-to-test label (reason=stale_ok_to_test) denial paths, which were previously untested for the ::warning:: annotation. Assisted-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Ralph Bean <rbean@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 6:34 PM UTC · Completed 6:48 PM UTC |
|
🤖 Finished Retro · ✅ Success · Started 6:41 PM UTC · Completed 7:00 PM UTC |
|
Review skipped — this PR is already merged. The Posted by fullsend post-review check |
Retro: PR #635 — surface ok-to-test gate denial in Checks tab and docsWorkflow quality: Good. The end-to-end pipeline (triage → code → review → human review → merge) worked effectively for issue #626 → PR #635. The triage agent accurately scoped the issue in ~4 min. The code agent delivered the core fix (CI Main inefficiency: Two CI failures from commit message formatting. The code agent's first commit title ( Review agent performance: The review agent ran 4 times across the PR's lifetime (~56 min total). It correctly identified the protected-path finding ( Evidence for existing issues:
Proposals filed
|
Summary
check-e2e-authorization.shnow emits a::warning::annotation when a PR is denied functional-test authorization, so the denial surfaces in the Checks tab instead of only as a PR comment that's easy to miss.CONTRIBUTING.mdnow documents theok-to-testgate and clarifies that it's separate from GitHub's own first-time-contributor workflow-approval prompt.This covers the doc and annotation portions of #626. The third recommendation (making the
functional-tests-completeroll-up fail instead of silently succeed when tests are skipped onpull_request_target) is already implemented in #400, which is blocked on a human push since the bot's GitHub App lacksworkflowswrite permission.Test plan
bash .github/scripts/check-e2e-authorization-test.sh— new tests cover the warning annotation on denial and its absence on successshellcheckclean on modified scriptspre-commit runcleanCloses #626
🤖 Generated with Claude Code