Skip to content

Make claude-code-review workflow configurable#101

Merged
francoisferrand merged 5 commits intomainfrom
improvement/ZENKO-5260
Apr 20, 2026
Merged

Make claude-code-review workflow configurable#101
francoisferrand merged 5 commits intomainfrom
improvement/ZENKO-5260

Conversation

@francoisferrand
Copy link
Copy Markdown
Contributor

@francoisferrand francoisferrand commented Apr 20, 2026

Improve the claude-code-review workflow to be configurable:

  • make model configurable
  • use review-pr skill from agent-hub as fallback, if not present in the repo
  • configure summary mode (for agent-hub's review-pr skill)
  • allow specifying marketplace branch, to simplify testing changes
  • allow configuring allowedTools. These are actually not required in the workflow, as they are already in the skill;
    however keep them for compatibility with already deployed skills.

Testing changes from the agent-hub can be done quite easily, for exemple the following script in zenko uses both the workflow and agent-hub PRs. It can even be triggered manually on another PR -which is why we need the extra allowed-tools- for testing:

name: Code Review
run-name: 'Code Review for #${{ github.event.pull_request.number || inputs.pr_number }}${{ github.event.pull_request.title && format('' : {0}'', github.event.pull_request.title) }}'

on:
  pull_request:
    types: [opened, synchronize]
  workflow_dispatch:
    inputs:
      pr_number:
        description: Pull Request number to review
        required: true

jobs:
  review:
    uses: scality/workflows/.github/workflows/claude-code-review.yml@improvement/ZENKO-5260 #v2.7.0
    with:
      plugin_marketplaces: https://github.com/scality/agent-hub.git#improvement/ZENKO-5260
      allowed-tools: >-
        "Bash(gh api repos/*/content)"
    secrets:
      GCP_WORKLOAD_IDENTITY_PROVIDER: ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
      GCP_SERVICE_ACCOUNT: ${{ secrets.GCP_SERVICE_ACCOUNT }}
      ANTHROPIC_VERTEX_PROJECT_ID: ${{ secrets.ANTHROPIC_VERTEX_PROJECT_ID }}
      CLOUD_ML_REGION: ${{ secrets.CLOUD_ML_REGION }}
      ACTIONS_APP_PRIVATE_KEY: ${{ secrets.ACTIONS_APP_PRIVATE_KEY }}

Issue: ZENKO-5260

If there is a local skill, it will be used instead.

This also allows to configure the plugins to load from agent-hub, and
thus use them from the skill.

Issue: ZENKO-5260
The `summary-mode` input can be set to pass the PUBLISH_MODE variable to
the plugin, and choose if summary should be posted as comment or check.

Issue: ZENKO-5260
This is useful for testing a skill before it is merged.

Unfortunately, passing a git branch is not supported (yet) in the
claude-code-plugin, so we need to do a checkout manually.

Issue: ZENKO-5260
Should not be needed, but some existing skill may not have the correct
values: so keeping existing default for compatibility.

Issue: ZENKO-5260
@francoisferrand francoisferrand requested review from a team, SylvainSenechal and maeldonn April 20, 2026 11:47
@francoisferrand francoisferrand requested a review from a team as a code owner April 20, 2026 11:47
model:
type: string
description: Claude model to use for the review
default: claude-opus-4-6
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Shall we default to 4.7 ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

not sure : I prefer to be conservative for now, can be more easily changed/tested afterwards...

@francoisferrand francoisferrand merged commit f1442db into main Apr 20, 2026
11 checks passed
@francoisferrand francoisferrand deleted the improvement/ZENKO-5260 branch April 20, 2026 15:57
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ vars.ACTIONS_APP_ID }}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think this one should have technically be a input, if it works great, but technically the workflow should be given all its parameter. (even if we unfortunately add an extra one here).

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.

4 participants