diff --git a/.github/workflows/claudius-review.yml b/.github/workflows/claudius-review.yml new file mode 100644 index 00000000000..8de02bceb00 --- /dev/null +++ b/.github/workflows/claudius-review.yml @@ -0,0 +1,36 @@ +name: "Claudius PR Review" + +on: + pull_request_target: + types: + - labeled + - synchronize + issue_comment: + types: + - created + +concurrency: + group: claudius-review-${{ github.event.pull_request.number || github.event.issue.number }} + cancel-in-progress: true + +permissions: + contents: read + pull-requests: write + issues: write + +jobs: + claudius-review: + name: Claudius PR Review + runs-on: ubuntu-24.04 + env: + CLAUDE_CODE_EFFORT_LEVEL: max + if: | + (github.event_name == 'pull_request_target' && contains(github.event.pull_request.labels.*.name, 'claudius-review') && github.event.pull_request.draft == false) || + (github.event_name == 'issue_comment' && github.event.issue.pull_request && contains(github.event.comment.body, '/review') && contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)) + steps: + - uses: lklimek/claudius-review-action@main + with: + claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} + github_token: ${{ secrets.GITHUB_TOKEN }} + claude_model: "opus" + trigger_label: "claudius-review"