mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2026-10-20 14:41:23 +08:00
68 lines
2.1 KiB
YAML
68 lines
2.1 KiB
YAML
name: OpenCode Automation
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened, ready_for_review]
|
|
|
|
permissions:
|
|
contents: write
|
|
issues: write
|
|
pull-requests: write
|
|
|
|
concurrency:
|
|
group: auto-${{ github.event.issue.number || github.event.pull_request.number }}
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
automate:
|
|
# 排除其他机器人触发,防止自我循环;
|
|
# 但允许 takanashi-hoshino-agent 创建的 PR,这样 /oc 生成的测试 PR 也能被自动评审
|
|
if: |
|
|
github.actor != 'github-actions[bot]' &&
|
|
github.actor != 'opencode-agent[bot]'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Fetch config from CF Worker
|
|
id: cfg
|
|
uses: MoeFurina/pull-oc-config@v1
|
|
with:
|
|
url: https://bot-storage.interface.focalors.ltd/config
|
|
|
|
- name: Generate bot token
|
|
id: token
|
|
uses: actions/create-github-app-token@v1
|
|
with:
|
|
app-id: ${{ steps.cfg.outputs.app_id }}
|
|
private-key: ${{ steps.cfg.outputs.app_private_key }}
|
|
owner: ${{ github.repository_owner }}
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
token: ${{ steps.token.outputs.token }}
|
|
fetch-depth: 0
|
|
persist-credentials: true
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: 22
|
|
|
|
- name: Install opencode
|
|
run: npm i -g opencode-ai@latest
|
|
|
|
- name: Run automation
|
|
env:
|
|
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
|
|
MODEL: opencode/muse-spark-1.2-contributor-free
|
|
OPENCODE_API_KEY: ${{ steps.cfg.outputs.opencode_api_key }}
|
|
ISSUE_PROMPT: ${{ steps.cfg.outputs.opencode_prompt }}
|
|
PR_PROMPT: |
|
|
${{ steps.cfg.outputs.opencode_prompt }}
|
|
${{ steps.cfg.outputs.pr_review_prompt }}
|
|
run: |
|
|
mkdir -p scripts
|
|
curl -fsSL "https://raw.githubusercontent.com/MoeFurina/pull-oc-config/v1/scripts/opencode-automation.mjs" \
|
|
-o scripts/opencode-automation.mjs
|
|
node scripts/opencode-automation.mjs
|