forked from github/copilot-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgithub-actions-review.yml
More file actions
64 lines (52 loc) · 1.82 KB
/
github-actions-review.yml
File metadata and controls
64 lines (52 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
name: Copilot Code Review
on:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
pull-requests: write
jobs:
copilot-review:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install GitHub Copilot CLI
run: npm install -g @github/copilot
- name: Get PR diff
id: diff
run: |
git diff origin/${{ github.base_ref }}...HEAD > pr_diff.txt
echo "Generated PR diff"
- name: Review with Copilot
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
copilot -p "Review this pull request for:
1. Code quality and best practices
2. Security vulnerabilities
3. Performance issues
4. Potential bugs
5. Documentation needs
Provide specific, actionable feedback with file names and line numbers when possible.
Be constructive and focus on important issues." < pr_diff.txt > review.txt
echo "Review completed"
- name: Post review comment
if: always()
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
const review = fs.readFileSync('review.txt', 'utf8');
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: `## 🤖 Copilot CLI Review\n\n${review}\n\n---\n*This review was automatically generated by GitHub Copilot CLI*`
});