gpt
1name: AI Code Reviewer
2
3on:
4workflow_run:
5workflows: ["Unittest"]
6types:
7- completed
8
9jobs:
10review:
11runs-on: ubuntu-latest
12permissions:
13contents: read
14pull-requests: write
15steps:
16- name: Checkout Repo
17uses: actions/checkout@v3
18- name: 'Download artifact'
19uses: actions/github-script@v6
20with:
21script: |
22let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
23owner: context.repo.owner,
24repo: context.repo.repo,
25run_id: context.payload.workflow_run.id,
26});
27let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
28return artifact.name == "pr_number"
29})[0];
30let download = await github.rest.actions.downloadArtifact({
31owner: context.repo.owner,
32repo: context.repo.repo,
33artifact_id: matchArtifact.id,
34archive_format: 'zip',
35});
36let fs = require('fs');
37fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/pr_number.zip`, Buffer.from(download.data));
38- name: 'Unzip artifact'
39run: unzip pr_number.zip
40- name: Setup Python
41uses: actions/setup-python@v4
42with:
43python-version: "3.x"
44cache: 'pip'
45- name: Install Requirements
46run: |
47pip install -r requirements.txt
48pip install PyGithub
49- name: AI Code Review
50env:
51GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
52GITHUB_REPOSITORY: ${{ github.repository }}
53run: python -m etc.tool.copilot
54