diff --git a/.github/workflows/ai-review.yml b/.github/workflows/ai-review.yml new file mode 100644 index 000000000..10d76d771 --- /dev/null +++ b/.github/workflows/ai-review.yml @@ -0,0 +1,68 @@ +name: AI Code Reviewer +on: + pull_request: + types: + - opened + - synchronize + - converted_to_draft + - ready_for_review + - labeled + +concurrency: + # Only one job per reference (branch or tag) + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: false + +permissions: + contents: write + pull-requests: write + + jobs: + comment-on-pr: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Comment on PR + uses: actions/github-script@v7 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: "🔍 AI Code Reviewer is analyzing this PR… Please wait for the results!" + }) + + review: + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + + - name: AI PR Reviewer + uses: coderabbitai/ai-pr-reviewer@latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + OPENAI_API_KEY: ${{ secrets.AZION_OPEN_AI_SECRET }} + with: + debug: false + review_simple_changes: false + review_comment_lgtm: false + + - name: Comment AI Review Completion + uses: actions/github-script@v7 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: "✅ AI Code Review completed! Check the comments for more details." + })