fix: Claude CI ワークフローの cancel-in-progress を無効化 - #595
Conversation
同じ Issue/PR に対する新しいリクエストが来た際に、実行中のジョブが キャンセルされる問題を修正。cancel-in-progress を false にすることで、 実行中のジョブは完了まで実行され、新しいリクエストはキューで待機する。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughModified the Claude workflow concurrency configuration to change Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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 |
🔍 AI Code Review (Local Hook)Models: Codex (default) / Gemini (default) 🤖 Codex Review指摘事項:
判定: patch is incorrect
|
🔍 AI Code Review (Local Hook)Models: Codex (default) / Gemini (default) 🤖 Codex Review指摘事項
判定: patch is incorrect
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/claude.yml (1)
13-15: 変更は妥当ですが、キューの管理に注意が必要です。The change correctly addresses the issue where running Claude jobs were being cancelled. Setting
cancel-in-progress: falseensures that each@clauderequest completes.However, be aware of operational implications:
- Queue buildup: Multiple rapid
@claudementions on the same issue/PR will queue sequentially. With a 20-minute timeout per job (line 32), 5 requests could take up to 100 minutes to complete.- Resource consumption: All queued jobs will consume GitHub Actions minutes, even if later requests supersede earlier ones.
- Stale operations: Jobs later in the queue might work with outdated context if the issue/PR changes during earlier job execution.
Consider monitoring:
- Average queue depth per issue/PR
- Failed jobs due to stale context
- Total Actions minutes consumed
If queue buildup becomes problematic, potential mitigations include:
- Reducing
timeout-minutesto fail faster- Implementing a debounce mechanism
- Using a time-based concurrency group (e.g., include timestamp rounded to nearest 5 minutes)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/claude.yml around lines 13 - 15, Change is fine but watch queue growth: in the concurrency block (the group: claude-${{ github.repository }}-... and cancel-in-progress: false) add operational safeguards—either lower the workflow's timeout-minutes, add a debounce step that drops/merges rapid duplicate `@claude` triggers before enqueueing, or change the concurrency group key to a time-bucketed value (e.g., include a rounded timestamp) so jobs batch; also add simple metrics/logging for queue depth, failed stale jobs, and Actions minutes consumed to monitor impact.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/claude.yml:
- Around line 13-15: Change is fine but watch queue growth: in the concurrency
block (the group: claude-${{ github.repository }}-... and cancel-in-progress:
false) add operational safeguards—either lower the workflow's timeout-minutes,
add a debounce step that drops/merges rapid duplicate `@claude` triggers before
enqueueing, or change the concurrency group key to a time-bucketed value (e.g.,
include a rounded timestamp) so jobs batch; also add simple metrics/logging for
queue depth, failed stale jobs, and Actions minutes consumed to monitor impact.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: cf64fe1a-de99-420e-b682-dc66b8530655
📒 Files selected for processing (1)
.github/workflows/claude.yml
|
🎉 This PR is included in version 1.98.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
概要
cancel-in-progressをtrue→falseに変更背景
同じ Issue/PR に対して新しい
@claudeリクエストが来た際に、cancel-in-progress: trueにより実行中のジョブがキャンセルされ、処理が完了しない問題が頻発していた。変更後の動作
変更統計
🤖 Generated with Claude Code
Summary by CodeRabbit