Upgrade claude-code-action to v1, add anti-pile-on controls#20
Upgrade claude-code-action to v1, add anti-pile-on controls#20
Conversation
Lessons learned from monarch-initiative/dismech#150 and dismech PR #268: - Migrate all workflows from anthropics/claude-code-action@beta to @v1 - Replace deprecated `direct_prompt` input with `prompt` - Add concurrency control (cancel-in-progress) to all review workflows so only the latest review runs when multiple commits arrive quickly - Enable `use_sticky_comment: true` on review workflows so reviews update a single comment instead of posting new ones - Change pull-requests permission from `read` to `write` (required for sticky comments) - Clean up deprecated/commented-out boilerplate from template files (trigger_phrase, assignee_trigger, claude_env, etc.) Applies to both template/ files and repo's own dogfood workflows. Closes #18, closes #19 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR upgrades all Claude Code workflows from the beta version to the stable v1 release and implements anti-pile-on controls to prevent multiple reviews from accumulating when developers push rapid commits to PRs. The changes address issues #18 (migrating off beta) and #19 (preventing review pile-ons) based on lessons learned from the dismech project.
Changes:
- Upgraded
anthropics/claude-code-actionfrom@betato@v1across all workflow files - Added concurrency controls with
cancel-in-progress: trueto review workflows - Enabled sticky comments (
use_sticky_comment: true) to update reviews in place - Updated API parameter from
direct_prompttoprompt(v1 change) - Upgraded permissions from
pull-requests: readtopull-requests: writefor sticky comment support - Removed deprecated options (
trigger_phrase,assignee_trigger,claude_env,additional_permissions)
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
template/.github/workflows/claude.yml |
Upgraded to v1, cleaned up deprecated options and whitespace |
template/.github/workflows/claude-ontology-review.yml |
New file: ontology-specific review workflow with concurrency and sticky comments |
template/.github/workflows/claude-code-review.yml |
Upgraded to v1, added concurrency/sticky comments, updated API parameters, upgraded permissions |
.github/workflows/claude.yml |
Upgraded to v1, removed sequential-thinking MCP server and allowed_tools, added claude_args |
.github/workflows/claude-code-review.yml |
Upgraded to v1, added concurrency/sticky comments, customized prompt for template consistency checks |
| claude_args: | | ||
| --permission-mode bypassPermissions |
There was a problem hiding this comment.
The repo's claude.yml file has been modified differently from the template version. The repo version removes allowed_tools, removes the sequential-thinking MCP server, and adds claude_args: --permission-mode bypassPermissions, but the template version keeps allowed_tools and sequential-thinking. This inconsistency is not mentioned in the PR description and could lead to different behavior between the template and the repo's own workflows. Are these intentional differences or should the files be kept consistent?
| with: | ||
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | ||
|
|
||
| # Use Opus for ontology review (needs deeper reasoning) |
There was a problem hiding this comment.
This file uses the model version claude-opus-4-1-20250805, which is inconsistent with the commented-out examples in other workflow files (claude.yml and claude-code-review.yml) that reference claude-opus-4-20250514. While the difference might be intentional (using a newer model for ontology review), this inconsistency could confuse users about which model version to use. Consider documenting why this specific model version is preferred for ontology reviews, or standardizing the model version references across all template files.
| # Use Opus for ontology review (needs deeper reasoning) | |
| # Use a newer Opus model for ontology review (needs deeper reasoning). | |
| # Note: Other workflow templates may reference an earlier model (e.g. "claude-opus-4-20250514"); | |
| # this workflow intentionally uses a newer version, but you can change it to match your standard if preferred. |
| prompt: | | ||
| Please review this pull request and provide feedback on: | ||
| - Code quality and best practices | ||
| - Potential bugs or issues |
There was a problem hiding this comment.
The prompt in the repo's workflow file has been customized to include "Whether template files are consistent with the repo's own workflow files" which is specific to this repository's purpose (providing templates). However, this same prompt is removed from the template version (template/.github/workflows/claude-code-review.yml), which is appropriate. The template version has fewer review criteria (missing "Performance considerations" and "Security concerns"). Consider whether these criteria should be restored in the template to provide more comprehensive code review guidance to users adopting this template.
| - Potential bugs or issues | |
| - Potential bugs or issues | |
| - Performance considerations | |
| - Security concerns |
Summary
anthropics/claude-code-action@betato@v1(fixes move off of claude-code-beta actions #18)direct_prompt->prompt, removestrigger_phrase,assignee_trigger, etc.)What changed
Issue #18: Move off beta
@beta->@v1in all 5 workflow files (3 template, 2 repo)direct_prompt->prompt(v1 API change)trigger_phrase,assignee_trigger,claude_env)Issue #19: Stop review pile-ons
Based on lessons from dismech#150 and dismech PR #268:
cancel-in-progress: trueon all review workflows — when a new commit arrives, the in-progress review is cancelled instead of piling onuse_sticky_comment: true— reviews update a single comment instead of posting new ones on each pushpull-requests: write(wasread) — required for sticky comments to workFiles changed
template/.github/workflows/claude-code-review.ymltemplate/.github/workflows/claude-ontology-review.ymltemplate/.github/workflows/claude.yml.github/workflows/claude-code-review.yml.github/workflows/claude.ymlTest plan
@claudemention trigger still works with v1 action🤖 Generated with Claude Code