From b29cb44d6e25b990a470d972745cf91ccecfeabe Mon Sep 17 00:00:00 2001 From: mmosarafO2 Date: Tue, 6 Jan 2026 10:09:34 +0530 Subject: [PATCH] ci: added claude PR review to github workflow (#9845) ### **User description** added claude PR review to github workflow ___ ### **PR Type** Enhancement ___ ### **Description** - Add GitHub workflow for automated PR reviews - Triggered on PR open, sync, ready, reopen - Integrate Claude action with progress tracking - Define custom prompts and allowed tools ___ ### Diagram Walkthrough ```mermaid flowchart LR A["PR event triggers workflow"] --> B["Checkout repository"] B --> C["Run anthropics/claude-code-action"] C --> D["Post inline review comments"] ```

File Walkthrough

Relevant files
Configuration changes
claude-pr-review.yml
Configure Claude PR review workflow                                           

.github/workflows/claude-pr-review.yml
  • Introduce workflow triggered on pull_request events
  • Configure checkout and Claude review steps
  • Enable progress tracking with checkboxes
  • Specify custom prompts and allowed tools
+71/-0   
___ --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- .github/workflows/claude-pr-review.yml | 72 ++++++++++++++++++++++++++ .github/workflows/claude.yml | 4 +- 2 files changed, 73 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/claude-pr-review.yml diff --git a/.github/workflows/claude-pr-review.yml b/.github/workflows/claude-pr-review.yml new file mode 100644 index 0000000000..0c4ea30993 --- /dev/null +++ b/.github/workflows/claude-pr-review.yml @@ -0,0 +1,72 @@ +name: Claude PR Review + +on: + pull_request: + types: [opened, synchronize, ready_for_review, reopened] + +jobs: + review-with-tracking: + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + id-token: write + actions: read # Required for Claude to read CI results on PRs + steps: + - name: Checkout repository + uses: actions/checkout@v5 + with: + fetch-depth: 1 + + - name: PR Review with Progress Tracking + uses: anthropics/claude-code-action@v1 + with: + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} + + # Enable progress tracking + track_progress: true + + # Your custom review instructions + prompt: | + REPO: ${{ github.repository }} + PR NUMBER: ${{ github.event.pull_request.number }} + + Perform a comprehensive code review with the following focus areas: + + 1. **Code Quality** + - Clean code principles and best practices + - Proper error handling and edge cases + - Code readability and maintainability + + 2. **Security** + - Check for potential security vulnerabilities + - Validate input sanitization + - Review authentication/authorization logic + + 3. **Performance** + - Identify potential performance bottlenecks + - Review database queries for efficiency + - Check for memory leaks or resource issues + + 4. **Testing** + - Verify adequate test coverage + - Review test quality and edge cases + - Check for missing test scenarios + + 5. **Documentation** + - Ensure code is properly documented + - Verify README updates for new features + - Check API documentation accuracy + + Provide detailed feedback using inline comments for specific issues. + Use top-level comments for general observations or praise. + + # Tools for comprehensive PR review + claude_args: | + --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" + +# When track_progress is enabled: +# - Creates a tracking comment with progress checkboxes +# - Includes all PR context (comments, attachments, images) +# - Updates progress as the review proceeds +# - Marks as completed when done \ No newline at end of file diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index fb7e9fceaa..323c008ef1 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -9,8 +9,6 @@ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.issue.number || github.ref }} cancel-in-progress: true -jobs: - jobs: claude: if: | @@ -36,4 +34,4 @@ jobs: id: claude uses: anthropics/claude-code-action@v1 with: - anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} \ No newline at end of file + anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}