57 lines
2.3 KiB
YAML
57 lines
2.3 KiB
YAML
name: AI Code Review (on comment)
|
|
|
|
on:
|
|
issue_comment:
|
|
types: [created, edited]
|
|
|
|
jobs:
|
|
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: ingress-it-solutions/gitea-code-review-action@v0.1
|
|
env:
|
|
# 可直连则删除本行;需代理则改成你的代理地址
|
|
OPENAI_PROXY: https://aiyjg.lol
|
|
with:
|
|
SOURCE_AT: gitea
|
|
GITHUB_BASE_URL: https://devstar.cn
|
|
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 }} |