From b16a293122ec02db8c10fec85c2d7bd40b6d018e Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 16:47:51 +1000 Subject: [PATCH 01/10] update claude.yml --- .github/workflows/claude.yml | 52 +++++++++++++++++------------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 442910e96..4fe0d8d20 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -1,43 +1,41 @@ -name: 🤖 Claude Code - +name: 🤖 Claude Review on: issue_comment: types: [created] - pull_request_review_comment: - types: [created] - issues: - types: [opened, assigned] - pull_request_review: - types: [submitted] jobs: - claude: - if: | - (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || - (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || - (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || - (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) + review: + # Only run for PR comments and when the body contains our trigger command + if: > + github.event.issue.pull_request != null && + ( + contains(github.event.comment.body, '/claude-review') + ) runs-on: ubuntu-latest permissions: - contents: write + contents: read pull-requests: write - issues: write id-token: write - actions: read steps: - - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + - uses: actions/checkout@v6 with: fetch-depth: 1 - - name: Run Claude Code - id: claude - uses: anthropics/claude-code-action@v1 + - uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} - additional_permissions: | - actions: read - claude_args: | - --model claude-opus-4-7 - --max-turns 30 + track_progress: true # ✨ Enables tracking comments + prompt: | + REPO: ${{ github.repository }} + PR NUMBER: ${{ github.event.pull_request.number }} + Please review this pull request with a focus on: + - Code quality and best practices + - Potential bugs or issues + - Security implications + - Performance considerations + + Provide detailed feedback using inline comments for specific issues. + + claude_args: | + --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" From b6ff91463b219f6e62d94504b9eddfa27c95d636 Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 16:50:24 +1000 Subject: [PATCH 02/10] refine prompt --- .github/workflows/claude.yml | 56 ++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 4fe0d8d20..2c178c756 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -29,13 +29,59 @@ jobs: REPO: ${{ github.repository }} PR NUMBER: ${{ github.event.pull_request.number }} - Please review this pull request with a focus on: - - Code quality and best practices - - Potential bugs or issues - - Security implications - - Performance considerations + You are reviewing a pull request to Quokka, a radiation magnetohydrodynamics code + built on AMReX. Quokka uses C++20 with GPU support (CUDA/HIP) and a single codebase + that runs on both CPU and GPU. + + **Important:** You cannot compile or run the code in this environment. Focus entirely + on static analysis: logic, style, correctness, and completeness. + + ## Review checklist + + ### 1. Physics correctness + Read the changed source files carefully. + - Check that conservation laws, numerical schemes, and physical units are handled correctly. + - Flag suspicious math, index errors, or incorrect use of AMReX data structures. + - For radiation changes: check energy groups, opacity terms, and flux limiters are consistent. + - For hydro changes: check slope limiters, Riemann solvers, and source term coupling. + - For new problems: check that initial conditions are physically reasonable and boundary + conditions are appropriate. + + ### 2. GPU lambda safety + These are the most common GPU bugs in AMReX code — check carefully: + - **Never** capture host pointers inside `AMREX_GPU_DEVICE` lambdas or `amrex::ParallelFor`. + - Use array forms inside device lambdas: `geom.ProbLoArray()`, `geom.CellSizeArray()`, + `geom.InvCellSizeArray()`. Never pass `geom.ProbLo()` or `geom.CellSize()` raw pointers. + - Never capture raw pointers from `GeometryData` inside GPU lambdas. + - `amrex::GpuArray` and `amrex::Array4` are safe to capture by value. + + ### 3. Code style + Quokka uses an LLVM-based clang-format style: + - 160-character line limit, indentation with tabs. + - Classes: PascalCase (`QuokkaSimulation`). Member variables: camelCase with trailing + underscore (`radiationCflNumber_`). Member functions: PascalCase. + - Always curly braces, even for single-statement blocks. + - Always trailing return types for non-void functions: `auto foo() -> int`. + - Always declare variables `const` when not modified after initialization. + - Public APIs must have Doxygen-style comments. + - Comments explain WHY, never WHAT — no comments restating what the code already says. + + ### 4. AMREX_SPACEDIM handling + `AMREX_SPACEDIM` is a compile-time constant (1, 2, or 3): + - Prefer `#if (AMREX_SPACEDIM > 1)` preprocessor guards for dimension-dependent code. + - If an inline ternary is used instead, require `// NOLINT(misc-redundant-expression)`. + + ### 5. Test completeness + - New physics must have a corresponding test in `src/problems/`. + - A complete new problem requires: `src/problems//test.cpp`, + `CMakeLists.txt`, and `inputs/.toml`. + - Verify `CMakeLists.txt` registers the test with `add_test(...)` and sets `JOB_NAME`. + - Test variants (same binary, different `.toml`) are additional `add_test` entries in the + same `CMakeLists.txt`, not separate executables. Provide detailed feedback using inline comments for specific issues. + Post an overall summary as a top-level PR comment. + claude_args: | --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" From cf6c2d4e59cf72adc87e023635848102fc841330 Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 16:50:43 +1000 Subject: [PATCH 03/10] remove old code-review.yml --- .github/workflows/claude-code-review.yml | 118 ----------------------- 1 file changed, 118 deletions(-) delete mode 100644 .github/workflows/claude-code-review.yml diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml deleted file mode 100644 index 121f2a1ab..000000000 --- a/.github/workflows/claude-code-review.yml +++ /dev/null @@ -1,118 +0,0 @@ -name: 🤖 Claude Code Review - -on: - # Manual trigger - workflow_dispatch: - inputs: - pr_number: - description: 'PR number to review' - required: true - type: string - - # Trigger on specific comment containing '/claude-review' - issue_comment: - types: [created] - - # Trigger when 'review-requested' label is added to PR - pull_request: - types: [labeled] - -jobs: - claude-review: - # Only run if: - # 1. Manual trigger, OR - # 2. Comment contains '/claude-review', OR - # 3. Label 'review-requested' was added - if: | - github.event_name == 'workflow_dispatch' || - (github.event_name == 'issue_comment' && - github.event.issue.pull_request && - contains(github.event.comment.body, '/claude-review')) || - (github.event_name == 'pull_request' && - github.event.action == 'labeled' && - github.event.label.name == 'review-requested') - - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - issues: write - id-token: write - - steps: - - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 - with: - fetch-depth: 1 - - - name: Run Claude Code Review - id: claude-review - uses: anthropics/claude-code-action@v1 - with: - anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} - - prompt: | - ${{ github.event_name == 'workflow_dispatch' && format('Review PR #{0} in {1}.', github.event.inputs.pr_number, github.repository) || '' }} - - You are reviewing a pull request to Quokka, a radiation magnetohydrodynamics code - built on AMReX. Quokka uses C++20 with GPU support (CUDA/HIP) and a single codebase - that runs on both CPU and GPU. - - **Important:** You cannot compile or run the code in this environment. Focus entirely - on static analysis: logic, style, correctness, and completeness. - - ## Review checklist - - ### 1. Physics correctness - Read the changed source files carefully. - - Check that conservation laws, numerical schemes, and physical units are handled correctly. - - Flag suspicious math, index errors, or incorrect use of AMReX data structures. - - For radiation changes: check energy groups, opacity terms, and flux limiters are consistent. - - For hydro changes: check slope limiters, Riemann solvers, and source term coupling. - - For new problems: check that initial conditions are physically reasonable and boundary - conditions are appropriate. - - ### 2. GPU lambda safety - These are the most common GPU bugs in AMReX code — check carefully: - - **Never** capture host pointers inside `AMREX_GPU_DEVICE` lambdas or `amrex::ParallelFor`. - - Use array forms inside device lambdas: `geom.ProbLoArray()`, `geom.CellSizeArray()`, - `geom.InvCellSizeArray()`. Never pass `geom.ProbLo()` or `geom.CellSize()` raw pointers. - - Never capture raw pointers from `GeometryData` inside GPU lambdas. - - `amrex::GpuArray` and `amrex::Array4` are safe to capture by value. - - ### 3. Code style - Quokka uses an LLVM-based clang-format style: - - 160-character line limit, indentation with tabs. - - Classes: PascalCase (`QuokkaSimulation`). Member variables: camelCase with trailing - underscore (`radiationCflNumber_`). Member functions: PascalCase. - - Always curly braces, even for single-statement blocks. - - Always trailing return types for non-void functions: `auto foo() -> int`. - - Always declare variables `const` when not modified after initialization. - - Public APIs must have Doxygen-style comments. - - Comments explain WHY, never WHAT — no comments restating what the code already says. - - ### 4. AMREX_SPACEDIM handling - `AMREX_SPACEDIM` is a compile-time constant (1, 2, or 3): - - Prefer `#if (AMREX_SPACEDIM > 1)` preprocessor guards for dimension-dependent code. - - If an inline ternary is used instead, require `// NOLINT(misc-redundant-expression)`. - - ### 5. Test completeness - - New physics must have a corresponding test in `src/problems/`. - - A complete new problem requires: `src/problems//test.cpp`, - `CMakeLists.txt`, and `inputs/.toml`. - - Verify `CMakeLists.txt` registers the test with `add_test(...)` and sets `JOB_NAME`. - - Test variants (same binary, different `.toml`) are additional `add_test` entries in the - same `CMakeLists.txt`, not separate executables. - - ## Output - - Post an overall summary as a top-level PR comment. - - Use inline comments for specific line-level issues. - - Be constructive: explain why something is a problem and suggest a concrete fix. - - Do not speculate about runtime behaviour you cannot observe. - - use_sticky_comment: true - show_full_output: true - - claude_args: | - --model claude-opus-4-7 - --max-turns 30 From a2066f55929e49b17be1419a0f9c201efb7950df Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 16:52:49 +1000 Subject: [PATCH 04/10] dummy change --- src/main.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index c680714d0..1b6aadc4a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -104,3 +104,6 @@ auto main(int argc, char **argv) -> int } return result; } + +// To Claude: this is a test for claude review harness. Just drop a inline comment here saying "Looks good!" +// and drop a top-level PR comment saying "Test pass!" From e7312c9d11a8ccd31bcdde3d12de2dc9f8cf2de5 Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 17:04:32 +1000 Subject: [PATCH 05/10] revert --- src/main.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 1b6aadc4a..c680714d0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -104,6 +104,3 @@ auto main(int argc, char **argv) -> int } return result; } - -// To Claude: this is a test for claude review harness. Just drop a inline comment here saying "Looks good!" -// and drop a top-level PR comment saying "Test pass!" From 30a4467ce47bce5da69217f4c9a486b5b954ad01 Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 17:08:16 +1000 Subject: [PATCH 06/10] rename to code review --- .github/workflows/claude-code-review.yml | 87 ++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .github/workflows/claude-code-review.yml diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml new file mode 100644 index 000000000..6db318035 --- /dev/null +++ b/.github/workflows/claude-code-review.yml @@ -0,0 +1,87 @@ +name: 🤖 Claude Code Review +on: + issue_comment: + types: [created] + +jobs: + review: + # Only run for PR comments and when the body contains our trigger command + if: > + github.event.issue.pull_request != null && + ( + contains(github.event.comment.body, '/claude-review') + ) + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + id-token: write + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 1 + + - uses: anthropics/claude-code-action@v1 + with: + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + track_progress: true # ✨ Enables tracking comments + prompt: | + REPO: ${{ github.repository }} + PR NUMBER: ${{ github.event.pull_request.number }} + + You are reviewing a pull request to Quokka, a radiation magnetohydrodynamics code + built on AMReX. Quokka uses C++20 with GPU support (CUDA/HIP) and a single codebase + that runs on both CPU and GPU. + + **Important:** You cannot compile or run the code in this environment. Focus entirely + on static analysis: logic, style, correctness, and completeness. + + ## Review checklist + + ### 1. Physics correctness + Read the changed source files carefully. + - Check that conservation laws, numerical schemes, and physical units are handled correctly. + - Flag suspicious math, index errors, or incorrect use of AMReX data structures. + - For radiation changes: check energy groups, opacity terms, and flux limiters are consistent. + - For hydro changes: check slope limiters, Riemann solvers, and source term coupling. + - For new problems: check that initial conditions are physically reasonable and boundary + conditions are appropriate. + + ### 2. GPU lambda safety + These are the most common GPU bugs in AMReX code — check carefully: + - **Never** capture host pointers inside `AMREX_GPU_DEVICE` lambdas or `amrex::ParallelFor`. + - Use array forms inside device lambdas: `geom.ProbLoArray()`, `geom.CellSizeArray()`, + `geom.InvCellSizeArray()`. Never pass `geom.ProbLo()` or `geom.CellSize()` raw pointers. + - Never capture raw pointers from `GeometryData` inside GPU lambdas. + - `amrex::GpuArray` and `amrex::Array4` are safe to capture by value. + + ### 3. Code style + Quokka uses an LLVM-based clang-format style: + - 160-character line limit, indentation with tabs. + - Classes: PascalCase (`QuokkaSimulation`). Member variables: camelCase with trailing + underscore (`radiationCflNumber_`). Member functions: PascalCase. + - Always curly braces, even for single-statement blocks. + - Always trailing return types for non-void functions: `auto foo() -> int`. + - Always declare variables `const` when not modified after initialization. + - Public APIs must have Doxygen-style comments. + - Comments explain WHY, never WHAT — no comments restating what the code already says. + + ### 4. AMREX_SPACEDIM handling + `AMREX_SPACEDIM` is a compile-time constant (1, 2, or 3): + - Prefer `#if (AMREX_SPACEDIM > 1)` preprocessor guards for dimension-dependent code. + - If an inline ternary is used instead, require `// NOLINT(misc-redundant-expression)`. + + ### 5. Test completeness + - New physics must have a corresponding test in `src/problems/`. + - A complete new problem requires: `src/problems//test.cpp`, + `CMakeLists.txt`, and `inputs/.toml`. + - Verify `CMakeLists.txt` registers the test with `add_test(...)` and sets `JOB_NAME`. + - Test variants (same binary, different `.toml`) are additional `add_test` entries in the + same `CMakeLists.txt`, not separate executables. + + Provide detailed feedback using inline comments for specific issues. + + Post an overall summary as a top-level PR comment. + + claude_args: | + --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" From 2bc1056f0a08f7cc89216e4b9c55c9a53668f500 Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 17:20:28 +1000 Subject: [PATCH 07/10] revert claude.yml --- .github/workflows/claude.yml | 98 ++++++++++-------------------------- 1 file changed, 27 insertions(+), 71 deletions(-) diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 2c178c756..442910e96 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -1,87 +1,43 @@ -name: 🤖 Claude Review +name: 🤖 Claude Code + on: issue_comment: types: [created] + pull_request_review_comment: + types: [created] + issues: + types: [opened, assigned] + pull_request_review: + types: [submitted] jobs: - review: - # Only run for PR comments and when the body contains our trigger command - if: > - github.event.issue.pull_request != null && - ( - contains(github.event.comment.body, '/claude-review') - ) + claude: + if: | + (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || + (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || + (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || + (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) runs-on: ubuntu-latest permissions: - contents: read + contents: write pull-requests: write + issues: write id-token: write + actions: read steps: - - uses: actions/checkout@v6 + - name: Checkout repository + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 with: fetch-depth: 1 - - uses: anthropics/claude-code-action@v1 + - name: Run Claude Code + id: claude + uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} - track_progress: true # ✨ Enables tracking comments - prompt: | - REPO: ${{ github.repository }} - PR NUMBER: ${{ github.event.pull_request.number }} - - You are reviewing a pull request to Quokka, a radiation magnetohydrodynamics code - built on AMReX. Quokka uses C++20 with GPU support (CUDA/HIP) and a single codebase - that runs on both CPU and GPU. - - **Important:** You cannot compile or run the code in this environment. Focus entirely - on static analysis: logic, style, correctness, and completeness. - - ## Review checklist - - ### 1. Physics correctness - Read the changed source files carefully. - - Check that conservation laws, numerical schemes, and physical units are handled correctly. - - Flag suspicious math, index errors, or incorrect use of AMReX data structures. - - For radiation changes: check energy groups, opacity terms, and flux limiters are consistent. - - For hydro changes: check slope limiters, Riemann solvers, and source term coupling. - - For new problems: check that initial conditions are physically reasonable and boundary - conditions are appropriate. - - ### 2. GPU lambda safety - These are the most common GPU bugs in AMReX code — check carefully: - - **Never** capture host pointers inside `AMREX_GPU_DEVICE` lambdas or `amrex::ParallelFor`. - - Use array forms inside device lambdas: `geom.ProbLoArray()`, `geom.CellSizeArray()`, - `geom.InvCellSizeArray()`. Never pass `geom.ProbLo()` or `geom.CellSize()` raw pointers. - - Never capture raw pointers from `GeometryData` inside GPU lambdas. - - `amrex::GpuArray` and `amrex::Array4` are safe to capture by value. - - ### 3. Code style - Quokka uses an LLVM-based clang-format style: - - 160-character line limit, indentation with tabs. - - Classes: PascalCase (`QuokkaSimulation`). Member variables: camelCase with trailing - underscore (`radiationCflNumber_`). Member functions: PascalCase. - - Always curly braces, even for single-statement blocks. - - Always trailing return types for non-void functions: `auto foo() -> int`. - - Always declare variables `const` when not modified after initialization. - - Public APIs must have Doxygen-style comments. - - Comments explain WHY, never WHAT — no comments restating what the code already says. - - ### 4. AMREX_SPACEDIM handling - `AMREX_SPACEDIM` is a compile-time constant (1, 2, or 3): - - Prefer `#if (AMREX_SPACEDIM > 1)` preprocessor guards for dimension-dependent code. - - If an inline ternary is used instead, require `// NOLINT(misc-redundant-expression)`. - - ### 5. Test completeness - - New physics must have a corresponding test in `src/problems/`. - - A complete new problem requires: `src/problems//test.cpp`, - `CMakeLists.txt`, and `inputs/.toml`. - - Verify `CMakeLists.txt` registers the test with `add_test(...)` and sets `JOB_NAME`. - - Test variants (same binary, different `.toml`) are additional `add_test` entries in the - same `CMakeLists.txt`, not separate executables. - - Provide detailed feedback using inline comments for specific issues. - - Post an overall summary as a top-level PR comment. - + additional_permissions: | + actions: read claude_args: | - --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" + --model claude-opus-4-7 + --max-turns 30 + From 2861513588cabcffece168163b4e6975451cfb32 Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 17:22:27 +1000 Subject: [PATCH 08/10] update claude.yml --- .github/workflows/claude.yml | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 442910e96..f7ad458bc 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -23,10 +23,10 @@ jobs: pull-requests: write issues: write id-token: write - actions: read + actions: read # Required for Claude to read CI results on PRs steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v4 + uses: actions/checkout@v6 with: fetch-depth: 1 @@ -35,9 +35,24 @@ jobs: uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} - additional_permissions: | - actions: read - claude_args: | - --model claude-opus-4-7 - --max-turns 30 + # Optional: Customize the trigger phrase (default: @claude) + # trigger_phrase: "/claude" + + # Optional: Trigger when specific user is assigned to an issue + # assignee_trigger: "claude-bot" + + # Optional: Configure Claude's behavior with CLI arguments + # claude_args: | + # --model claude-opus-4-1-20250805 + # --max-turns 10 + # --allowedTools "Bash(npm install),Bash(npm run build),Bash(npm run test:*),Bash(npm run lint:*)" + # --system-prompt "Follow our coding standards. Ensure all new code has tests. Use TypeScript for new files." + + # Optional: Advanced settings configuration + # settings: | + # { + # "env": { + # "NODE_ENV": "test" + # } + # } \ No newline at end of file From 2534a71de02358f3ec7c021ee88de9f680c855fc Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 17:37:14 +1000 Subject: [PATCH 09/10] review PR instead of development branc --- .github/workflows/claude-code-review.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml index 6db318035..bec428146 100644 --- a/.github/workflows/claude-code-review.yml +++ b/.github/workflows/claude-code-review.yml @@ -19,6 +19,7 @@ jobs: steps: - uses: actions/checkout@v6 with: + ref: refs/pull/${{ github.event.issue.number }}/head fetch-depth: 1 - uses: anthropics/claude-code-action@v1 @@ -27,7 +28,7 @@ jobs: track_progress: true # ✨ Enables tracking comments prompt: | REPO: ${{ github.repository }} - PR NUMBER: ${{ github.event.pull_request.number }} + PR NUMBER: ${{ github.event.issue.number }} You are reviewing a pull request to Quokka, a radiation magnetohydrodynamics code built on AMReX. Quokka uses C++20 with GPU support (CUDA/HIP) and a single codebase From 56e667bc0129f1971c576c8854e8d99f92353d7c Mon Sep 17 00:00:00 2001 From: ChongChong He Date: Fri, 26 Jun 2026 17:52:44 +1000 Subject: [PATCH 10/10] actions read --- .github/workflows/claude.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index f7ad458bc..87c604bf0 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -35,6 +35,8 @@ jobs: uses: anthropics/claude-code-action@v1 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + additional_permissions: | + actions: read # Required for viewing workflow results # Optional: Customize the trigger phrase (default: @claude) # trigger_phrase: "/claude"