Skip to content

fix: Claude CI ワークフローの cancel-in-progress を無効化 - #595

Merged
keito4 merged 1 commit into
mainfrom
fix/claude-ci-cancel-in-progress
Mar 20, 2026
Merged

fix: Claude CI ワークフローの cancel-in-progress を無効化#595
keito4 merged 1 commit into
mainfrom
fix/claude-ci-cancel-in-progress

Conversation

@keito4

@keito4 keito4 commented Mar 20, 2026

Copy link
Copy Markdown
Owner

概要

  • Claude Code CI ワークフローの cancel-in-progresstruefalse に変更

背景

同じ Issue/PR に対して新しい @claude リクエストが来た際に、cancel-in-progress: true により実行中のジョブがキャンセルされ、処理が完了しない問題が頻発していた。

変更後の動作

  • 実行中のジョブは最後まで完了する
  • 新しいリクエストはキューで順番待ちになる

変更統計

  • 変更ファイル数: 1 件
  • 変更行数: 1 行

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated internal workflow configuration for improved handling of concurrent process execution.

同じ Issue/PR に対する新しいリクエストが来た際に、実行中のジョブが
キャンセルされる問題を修正。cancel-in-progress を false にすることで、
実行中のジョブは完了まで実行され、新しいリクエストはキューで待機する。

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Mar 20, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Modified the Claude workflow concurrency configuration to change cancel-in-progress from true to false, allowing previously-running workflow instances to continue executing instead of being cancelled when new workflow events are triggered.

Changes

Cohort / File(s) Summary
Workflow Configuration
.github/workflows/claude.yml
Updated concurrency behavior to preserve in-progress workflow runs by disabling automatic cancellation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested labels

size/XS

Poem

🐰 A workflow once cancelled too quick,
Now runs to completion, no trick,
Concurrency flows,
As progress still goes,
No more interrupting the click!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: disabling cancel-in-progress in the Claude CI workflow, which matches the actual modification in .github/workflows/claude.yml.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/claude-ci-cancel-in-progress
📝 Coding Plan
  • Generate coding plan for human review comments

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@keito4

keito4 commented Mar 20, 2026

Copy link
Copy Markdown
Owner Author

🔍 AI Code Review (Local Hook)

Models: Codex (default) / Gemini (default)

🤖 Codex Review

指摘事項:

  1. 並行実行のキャンセル無効化により、同一Issue/PRに対するワークフローが重複実行され、重複コメントやレース(同じ権限での書き込み衝突)、実行枠消費やレート制限超過が発生しやすくなります。意図がないなら cancel-in-progress: true を維持するか、重複実行を許容する理由と回避策を併記すべきです。.github/workflows/claude.yml:13-15

判定: patch is incorrect
理由: 重要なワークフローの並行制御を弱める変更で、実害(重複実行・衝突・コスト/レート制限)の可能性が高い。
信頼度: 0.56


⚠️ 修正が必要です

上記のレビューで問題が指摘されています。修正してからマージしてください。


🤖 Generated by post_pr_ai_review.py hook

@keito4

keito4 commented Mar 20, 2026

Copy link
Copy Markdown
Owner Author

🔍 AI Code Review (Local Hook)

Models: Codex (default) / Gemini (default)

🤖 Codex Review

指摘事項

  1. 競合実行の抑止が無効化されています。cancel-in-progress: false により同一グループのジョブが並行実行され、同一Issue/PRに対する重複コメントや無駄なランナー消費、前後関係の乱れが発生する可能性があります。意図的でない限り、CIコストとノイズ増大につながります。影響箇所: .github/workflows/claude.yml:12-16

判定: patch is incorrect
理由: 既存の並行実行抑止が解除され、運用上のリスク(重複実行・コスト増・競合コメント)を導入しているため。
信頼度: 0.35


⚠️ 修正が必要です

上記のレビューで問題が指摘されています。修正してからマージしてください。


🤖 Generated by post_pr_ai_review.py hook

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 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: false ensures that each @claude request completes.

However, be aware of operational implications:

  • Queue buildup: Multiple rapid @claude mentions 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-minutes to 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

📥 Commits

Reviewing files that changed from the base of the PR and between 60a39de and d610522.

📒 Files selected for processing (1)
  • .github/workflows/claude.yml

@keito4
keito4 merged commit c3a32d1 into main Mar 20, 2026
13 of 15 checks passed
@keito4
keito4 deleted the fix/claude-ci-cancel-in-progress branch March 20, 2026 04:16
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.98.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@github-actions github-actions Bot added the released リリース済み label Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released リリース済み

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant