From bb7d46c0145d6dc10a73c2fed19678ba8be1b133 Mon Sep 17 00:00:00 2001 From: svtter Date: Sat, 23 May 2026 23:13:13 +0800 Subject: [PATCH] ci: replace review + architect-review with multi-review Add multi-review.yml workflow that runs 4 parallel reviewers (quality, security, performance, architecture) with coordinator synthesis. Remove redundant review.yml and architect-review.yml which are now covered by multi-review. Add multi-review smoke test steps to ci.yml and smoke-test.yml. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/ci.yml | 9 ++++++ ...{architect-review.yml => multi-review.yml} | 12 ++++---- .github/workflows/review.yml | 30 ------------------- .github/workflows/smoke-test.yml | 8 +++++ 4 files changed, 22 insertions(+), 37 deletions(-) rename .github/workflows/{architect-review.yml => multi-review.yml} (76%) delete mode 100644 .github/workflows/review.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e1699e5..7c9c909 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,6 +71,15 @@ jobs: github-token: smoke-gh-token zhipu-api-key: smoke-zhipu-token + - name: Run multi-review convenience action + uses: ./multi-review + with: + install-url: http://127.0.0.1:8765/fake-installer.sh + cache: false + install-attempts: 1 + github-token: smoke-gh-token + zhipu-api-key: smoke-zhipu-token + - name: Stop fake installer server if: always() run: | diff --git a/.github/workflows/architect-review.yml b/.github/workflows/multi-review.yml similarity index 76% rename from .github/workflows/architect-review.yml rename to .github/workflows/multi-review.yml index f341696..11ce81f 100644 --- a/.github/workflows/architect-review.yml +++ b/.github/workflows/multi-review.yml @@ -1,11 +1,11 @@ -name: Architect Review +name: Multi-Review on: pull_request: types: [opened, synchronize, reopened, ready_for_review] jobs: - architect-review: + multi-review: if: github.event.pull_request.draft == false && github.event.pull_request.head.repo.full_name == github.repository runs-on: ubuntu-latest permissions: @@ -20,17 +20,15 @@ jobs: ref: ${{ github.event.pull_request.head.ref }} - name: Configure git identity - # OpenCode requires git identity even in read-only mode for internal operations like diff/worktree run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - - name: Run OpenCode architect review - # TODO: switch to Svtter/opencode-actions/architect-review@v2 after release - uses: ./architect-review + - name: Run multi-review + uses: ./multi-review with: model: ${{ vars.MODEL_NAME }} - + default-team: "quality:1,security:1,performance:1,architecture:1" github-token: ${{ secrets.GITHUB_TOKEN }} zhipu-api-key: ${{ secrets.ZHIPU_API_KEY }} deepseek-api-key: ${{ secrets.DEEPSEEK_API_KEY }} diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml deleted file mode 100644 index ac9f439..0000000 --- a/.github/workflows/review.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Review - -on: - pull_request: - types: [opened, synchronize, reopened, ready_for_review] - -jobs: - review: - if: github.event.pull_request.draft == false && github.event.pull_request.head.repo.full_name == github.repository - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - issues: write - steps: - - name: Checkout PR head - uses: actions/checkout@v6 - with: - repository: ${{ github.event.pull_request.head.repo.full_name }} - ref: ${{ github.event.pull_request.head.ref }} - - - name: Run OpenCode review - uses: Svtter/opencode-actions/review@v2 - with: - model: ${{ vars.MODEL_NAME }} - - github-token: ${{ secrets.GITHUB_TOKEN }} - zhipu-api-key: ${{ secrets.ZHIPU_API_KEY }} - deepseek-api-key: ${{ secrets.DEEPSEEK_API_KEY }} - opencode-go-api-key: ${{ secrets.OPENCODE_GO_API_KEY }} diff --git a/.github/workflows/smoke-test.yml b/.github/workflows/smoke-test.yml index 28d4fc0..672d0f3 100644 --- a/.github/workflows/smoke-test.yml +++ b/.github/workflows/smoke-test.yml @@ -45,3 +45,11 @@ jobs: attempts: "1" github-token: ${{ secrets.GITHUB_TOKEN }} continue-on-error: true + + - name: Test multi-review action loads + uses: ./multi-review + with: + model: test-model + timeout-seconds: "5" + github-token: ${{ secrets.GITHUB_TOKEN }} + continue-on-error: true