feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 - #489
Conversation
…ted 2026-05-27
|
Warning Review limit reached
More reviews will be available in 56 minutes and 54 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (5)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request adds a check to skip the Gemini fallback in scripts/engine.sh if neither GEMINI_API_KEY nor GOOGLE_API_KEY is configured, and includes unit tests to verify this behavior. The feedback suggests updating the warning message to mention both environment variables to accurately reflect the conditional check.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b978c228f8
ℹ️ 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".
Dev-Lead — rate-limited (intent: review-changes)PR: #489 |
|
Note @don-petry I received your request but all AI engines are currently rate-limited. I'll retry automatically once the rate limit clears. |
Dev-Lead — review-changes (applied)Changes committed and pushed. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
donpetry-bot
left a comment
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: LOW
Reviewed commit: 9129739e8aac989a4ab67da44ae981a74aa5ed68
Review mode: triage-approved (single reviewer)
Summary
Three coordinated fixes addressing workflow failures from issue #400:
ci-failure-analyst-reusable.yml— captures claude output viateeand exits 0 with a::notice::when the run fails with a rate-limit/quota signal, so transient quota errors stop turning into red CI runs.issue-triage-runner.yml— replaces theanthropics/claude-code-action/setupaction (failing 100% in this repo) with a directnpm install -g @anthropic-ai/claude-code@${CLAUDE_CODE_VERSION}step, version-pinnable viavars.CLAUDE_CODE_VERSION. The OAuth token is correctly relocated to the run step that actually invokesclaudeviascripts/aw.sh.scripts/engine.sh— adds a guard that skips gemini in the writer fallback chain when neitherGEMINI_API_KEYnorGOOGLE_API_KEYis set, mirroring the existing copilot PAT skip pattern.
Linked issue analysis
Issue #400 is the 2026-05-27 fleet health report. It explicitly calls out issue-triage-runner.yml at 100% failure rate in .github-private, plus ci-failure-analyst.yml failing across three repos. This PR directly targets both, and the engine.sh change removes a noisy fallback path that contributes to dev-lead failures observed elsewhere in the same report. Substantively addressed.
Findings
- None blocking. The PIPESTATUS handling in
ci-failure-analyst-reusable.ymlis correct (PIPESTATUS[0] is captured inside the||arm, which only runs on pipe failure under pipefail; success path leaves_analyst_rc=0). The rate-limit grep pattern is anchored to common Anthropic phrasing and is case-insensitive. - Nit (non-blocking):
issue-triage-runner.ymldefaultsCLAUDE_CODE_VERSIONto'latest', replacing a SHA-pinned action with a floating npm tag. Override path viavars.CLAUDE_CODE_VERSIONexists, but consider pinning that repo/org variable to a specific version to recover supply-chain pinning parity with other workflows in this repo. - The gemini-code-assist suggestion (mention both env vars in the warning) is already reflected in the implementation:
GEMINI_API_KEY or GOOGLE_API_KEY not configured. - Test coverage: new bats tests assert both that gemini is skipped when unset (and copilot succeeds) and that it is invoked normally when
GEMINI_API_KEYis set. The existingtest_engine_writer.batsis correctly updated to set a dummyGEMINI_API_KEYso unrelated writer tests still exercise the gemini path.
CI status
All required checks passing: Lint, shellcheck, bats, unit-tests, Compile agentic workflows, validate-agent-profiles, Agent Security Scan, Secret scan (gitleaks), Analyze (actions), Analyze (python), SonarCloud Code Analysis (Quality Gate passed — 0 new issues, 0 security hotspots), agent-shield, gh-aw-compile. Dependency-audit skipped (no relevant ecosystems changed). No HIGH-risk signals.
Reviewed automatically by the PR-review agent (single-reviewer mode: opus 4.7). Reply if you need a human review.
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…ted 2026-05-27 (#489) * feat: implement issue #400 — petry-projects — workflow failures detected 2026-05-27 * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
Closes #400
Implemented by dev-lead agent. Please review.