Skip to content

fix(ci): Add concurrency to prevent Claude CLI install conflicts#1014

Merged
yamadashy merged 1 commit intomainfrom
fix/claude-action-oidc-auth
Dec 18, 2025
Merged

fix(ci): Add concurrency to prevent Claude CLI install conflicts#1014
yamadashy merged 1 commit intomainfrom
fix/claude-action-oidc-auth

Conversation

@yamadashy
Copy link
Owner

When multiple Claude issue workflows (claude-issue-similar.yml and claude-issue-triage.yml) run simultaneously for the same issue, they conflict during Claude CLI installation with the error:

Could not install - another process is currently installing Claude.

This PR adds concurrency settings to both workflows with the same group key (claude-issue-${{ github.event.issue.number }}), ensuring sequential execution and preventing installation conflicts.

Checklist

  • Run npm run test
  • Run npm run lint

(CI workflow changes only - no code changes)

When multiple Claude issue workflows run simultaneously for the same
issue, they conflict during Claude CLI installation. Adding concurrency
with the same group key ensures sequential execution.
@gemini-code-assist
Copy link
Contributor

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 18, 2025

Walkthrough

Two GitHub Actions workflows receive concurrency configuration updates. Both claude-issue-similar and claude-issue-triage jobs now include concurrency groups keyed by issue number with in-progress run cancellation disabled.

Changes

Cohort / File(s) Summary
Workflow concurrency configuration
.github/workflows/claude-issue-similar.yml, .github/workflows/claude-issue-triage.yml
Added concurrency group per issue number with cancel-in-progress: false to prevent termination of ongoing workflow runs when new issue events trigger execution.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Changes are configuration-only with no logic modifications
  • Identical pattern applied consistently across both workflow files
  • No public entity signature changes

Possibly related PRs

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding concurrency settings to CI workflows to prevent Claude CLI installation conflicts when multiple workflows run simultaneously.
Description check ✅ Passed The description covers the problem context, explains the solution clearly, notes that CI/lint checks were run, and acknowledges the scope limitation. All key information is present and well-structured.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/claude-action-oidc-auth

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e89aa97 and 72310fb.

📒 Files selected for processing (2)
  • .github/workflows/claude-issue-similar.yml (1 hunks)
  • .github/workflows/claude-issue-triage.yml (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: chenrui333
Repo: yamadashy/repomix PR: 151
File: .github/workflows/release.yml:9-10
Timestamp: 2024-11-02T17:45:05.140Z
Learning: The maintainer prefers not to add job controls like timeout limits or concurrency controls to the release workflow.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (14)
  • GitHub Check: Build and run (macos-latest, 22.x)
  • GitHub Check: Test (windows-latest, 25.x)
  • GitHub Check: Test (macos-latest, 20.x)
  • GitHub Check: Test (windows-latest, 22.x)
  • GitHub Check: Test (macos-latest, 22.x)
  • GitHub Check: Build and run (windows-latest, 22.x)
  • GitHub Check: Build and run (windows-latest, 20.x)
  • GitHub Check: Test (windows-latest, 20.x)
  • GitHub Check: Test (macos-latest, 25.x)
  • GitHub Check: Test (windows-latest, 24.x)
  • GitHub Check: Test with Bun (macos-latest, latest)
  • GitHub Check: Test with Bun (windows-latest, latest)
  • GitHub Check: Build and run with Bun (windows-latest, latest)
  • GitHub Check: Cloudflare Pages
🔇 Additional comments (2)
.github/workflows/claude-issue-similar.yml (1)

11-13: LGTM! Concurrency configuration correctly prevents CLI installation conflicts.

The concurrency group keyed by issue number with cancel-in-progress: false ensures that when both workflows trigger for the same issue, they execute sequentially rather than simultaneously. This effectively prevents the "another process is currently installing Claude" error mentioned in the PR description.

The shared group key claude-issue-${{ github.event.issue.number }} across both Claude issue workflows (similar and triage) is intentional and correct—it guarantees that all Claude CLI operations for a given issue happen one at a time.

.github/workflows/claude-issue-triage.yml (1)

11-13: LGTM! Consistent concurrency configuration across Claude workflows.

The implementation matches claude-issue-similar.yml and uses the same concurrency group, which ensures proper serialization of all Claude CLI operations for a given issue across both workflows. This prevents race conditions during CLI installation.


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.

@claude
Copy link
Contributor

claude bot commented Dec 18, 2025

PR Review: fix(ci): Add concurrency to prevent Claude CLI install conflicts

Summary

This is a clean, well-targeted fix for a real race condition issue. The change adds job-level concurrency settings to both Claude issue workflows to prevent simultaneous Claude CLI installations.

Verdict: ✅ LGTM

Detailed Analysis

What the PR does:

  • Adds concurrency groups with key claude-issue-${{ github.event.issue.number }} to both claude-issue-similar.yml and claude-issue-triage.yml
  • Uses cancel-in-progress: false to ensure all workflows complete sequentially rather than canceling in-flight jobs

Code Quality:

  • ✅ Minimal, focused change (6 lines added, 0 deleted)
  • ✅ Identical configuration applied consistently to both workflows
  • ✅ Follows GitHub Actions best practices for concurrency control
  • ✅ Commit message follows Conventional Commits format per CLAUDE.md guidelines

Design Considerations:

  • ✅ Using cancel-in-progress: false is the correct choice here - both triage and similar-issue detection should complete for each issue
  • ✅ The shared group key ensures the two workflows serialize against each other, not just within themselves
  • ✅ Job-level placement (vs workflow-level) is appropriate since these are single-job workflows
Premortem Analysis - Potential Failure Scenarios
Scenario Risk Mitigation
Long queue buildup if many issues created rapidly Low 5-minute timeout already exists on both jobs
Job waiting too long for concurrency slot Low GitHub Actions eventually releases stale locks; timeouts provide backstop
Future workflow additions forgetting concurrency Low Document this pattern if more Claude workflows are added

No significant risks identified. The existing timeout-minutes: 5 setting provides adequate protection against queue buildup scenarios.

No Issues Found

  • No code changes (CI only)
  • No tests affected
  • No security concerns
  • Follows repository conventions

🤖 Review by Claude

@codecov
Copy link

codecov bot commented Dec 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.24%. Comparing base (e89aa97) to head (72310fb).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1014   +/-   ##
=======================================
  Coverage   90.24%   90.24%           
=======================================
  Files         120      120           
  Lines        9017     9017           
  Branches     1623     1623           
=======================================
  Hits         8137     8137           
  Misses        880      880           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@cloudflare-workers-and-pages
Copy link

Deploying repomix with  Cloudflare Pages  Cloudflare Pages

Latest commit: 72310fb
Status: ✅  Deploy successful!
Preview URL: https://d9a42c4a.repomix.pages.dev
Branch Preview URL: https://fix-claude-action-oidc-auth.repomix.pages.dev

View logs

@yamadashy yamadashy merged commit fe598a1 into main Dec 18, 2025
53 of 55 checks passed
@yamadashy yamadashy deleted the fix/claude-action-oidc-auth branch December 18, 2025 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant