Files
demo-workflow-repo/.gitea/workflows/code-review.yml

58 lines
2.3 KiB
YAML

name: AI Code Review (on comment)
on:
issue_comment:
types: [created, edited]
jobs:
code-review:
runs-on: ubuntu-latest
if: github.event.issue.pull_request && (startsWith(github.event.comment.body, 'openai') || github.event.comment.body == 'openai')
env:
ACTIONS_STEP_DEBUG: 'true'
BASE: https://devstar.cn
GH_TOKEN: ${{ secrets.GH_TOKEN }}
steps:
- name: Preflight - diff 接口可用性
run: |
set -e
echo "repo=${{ github.repository }}"
echo "issue.number=${{ github.event.issue.number }}"
curl -sSf -H "Authorization: token $GH_TOKEN" -H "Accept: application/vnd.github.diff" "$BASE/api/v1/repos/${{ github.repository }}/pulls/${{ github.event.issue.number }}.diff" >/dev/null
echo "diff endpoint OK"
- name: Preflight - 评论接口可用性
run: |
set -e
curl -sSf -X POST \
-H "Authorization: token $GH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"body":"healthcheck from workflow"}' \
"$BASE/api/v1/repos/${{ github.repository }}/issues/${{ github.event.issue.number }}/comments" >/dev/null
echo "comment endpoint OK"
# - name: Preflight - OpenAI 连接
# env:
# OPENAI_TOKEN: ${{ secrets.OPENAI_TOKEN }}
# # 可直连 OpenAI 则删除本行;需代理则改成你的代理地址,如 http://127.0.0.1:7890
# OPENAI_PROXY: https://aiyjg.lol
# run: |
# set -e
# curl -sS -i ${OPENAI_PROXY:+--proxy $OPENAI_PROXY} \
# -H "Authorization: Bearer $OPENAI_TOKEN" \
# https://api.openai.com/v1/models | head -n 1
- name: OpenAI Code Review
uses: sgxya/gitea-code-review-action@main
# env:
# # 可直连则删除本行;需代理则改成你的代理地址
# OPENAI_PROXY: https://aiyjg.lol
with:
SOURCE_AT: gitea
GITHUB_BASE_URL: https://devstar.cn
OPENAI_BASE_URL: 'https://aiyjg.lol'
PROGRAMMING_LANGUAGE: 'JavaScript' # 避免使用 auto
FULL_REVIEW_COMMENT: openai
REVIEW_COMMENT_PREFIX: 'openai:'
MAX_CODE_LENGTH: 6000
OPENAI_TOKEN: ${{ secrets.OPENAI_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}