Splat build.ps1 arguments as a hashtable so the CI dispatch inputs work #299
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Claude Code Review | |
| on: | |
| pull_request: | |
| types: [opened, synchronize] | |
| # Optional: Only run on specific file changes | |
| # paths: | |
| # - "src/**/*.ts" | |
| # - "src/**/*.tsx" | |
| # - "src/**/*.js" | |
| # - "src/**/*.jsx" | |
| jobs: | |
| claude-review: | |
| # Fork PRs cannot request OIDC tokens and contain untrusted input. A | |
| # maintainer can request a review explicitly by commenting `@claude`. | |
| if: github.event.pull_request.head.repo.full_name == github.repository | |
| # Optional: Filter by PR author | |
| # if: | | |
| # github.event.pull_request.user.login == 'external-contributor' || | |
| # github.event.pull_request.user.login == 'new-developer' || | |
| # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| issues: read | |
| id-token: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Run Claude Code Review | |
| id: claude-review | |
| uses: anthropics/claude-code-action@v1 | |
| with: | |
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | |
| prompt: | | |
| Please review this pull request and provide feedback on: | |
| - Breaking changes, if any | |
| - Style and conventions | |
| - New quantities or units | |
| - See `.agents/criteria-for-adding-quantities-and-units.md` for guidance and criteria, they should be widely used and well defined | |
| - If it seems domain specific or obscure we ask for justification and use cases | |
| - Changes to generated code | |
| - Focus feedback on changes to code generators | |
| - Tie feedback to specific examples from generated code to explain, try to pick 1-3 quantities of different types, e.g. `Length` (`ILinearQuantity`), `Temperature` (`IAffineQuantity`) and `Level` (`ILogarithmicQuantity`) | |
| - Code quality and best practices | |
| - Potential bugs or issues | |
| - Performance considerations | |
| - Test coverage | |
| - Security concerns, but only if medium or higher severity | |
| Use the repository's CLAUDE.md for guidance on style and conventions. | |
| Be constructive and helpful in your feedback, keep it concise. | |
| Make the review outcome and every bullet point easy to scan: | |
| - Start with exactly one of these headings: | |
| - `## ✅ Review: No actionable findings` | |
| - `## ⚠️ Review: Non-blocking findings` | |
| - `## ❌ Review: Blocking findings` | |
| - Prefix every section heading with an emoji that summarizes its most severe bullet, | |
| for example `### ✅ Test coverage`, `### ⚠️ Breaking changes`, or `### ❌ Code quality & correctness`. | |
| - For both the overall review and each section, use ❌ if it contains any defects or blocking issues, | |
| otherwise ⚠️ if it contains any non-blocking concerns, questions, or suggestions, otherwise ✅. | |
| - Prefix every feedback bullet with exactly one status emoji: | |
| - ✅ for a positive verification or something that is correct as-is | |
| - ⚠️ for a non-blocking concern, question, or suggestion | |
| - ❌ for a defect or blocking issue that should be fixed | |
| - Keep each bullet to one status. If a point contains both positive and negative feedback, split it into separate bullets. | |
| - When a section has no findings, either omit it or write `✅ No concerns identified.` | |
| Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR. | |
| # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md | |
| # or https://docs.claude.com/en/docs/claude-code/sdk#command-line for available options | |
| claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"' | |