Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,16 @@ jobs:
github-token: smoke-gh-token
zhipu-api-key: smoke-zhipu-token

- name: Run multi-review convenience action
uses: ./multi-review
continue-on-error: true
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: |
Expand Down
Original file line number Diff line number Diff line change
@@ -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:
Expand All @@ -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 }}
Expand Down
30 changes: 0 additions & 30 deletions .github/workflows/review.yml

This file was deleted.

8 changes: 8 additions & 0 deletions .github/workflows/smoke-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
54 changes: 3 additions & 51 deletions multi-review/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ inputs:
required: false
default: "900"
model:
description: Model to use for all reviewers and coordinator (format: provider/model).
description: "Model to use for all reviewers and coordinator (format: provider/model)."
required: false
default: ""
default-team:
Expand All @@ -55,17 +55,9 @@ inputs:
required: false
default: "300"
coordinator-prompt:
description: Custom coordinator prompt template. Use {{REVIEWS}} as placeholder for reviewer outputs.
description: "Custom coordinator prompt template. Use {{REVIEWS}} as placeholder for reviewer outputs."
required: false
default: ""
reasoning-effort:
description: Reasoning effort level for the model agent. Allowed values are low, medium, high, max.
required: false
default: "max"
enable-thinking:
description: Enable thinking mode for the model agent.
required: false
default: "true"
github-token:
description: GitHub token for posting PR comments.
required: false
Expand Down Expand Up @@ -189,44 +181,6 @@ runs:
echo "pr_number=" >> "$GITHUB_OUTPUT"
fi

- shell: bash
env:
OPENCODE_REASONING_EFFORT: ${{ inputs.reasoning-effort }}
OPENCODE_ENABLE_THINKING: ${{ inputs.enable-thinking }}
run: |
set -euo pipefail
effort="${OPENCODE_REASONING_EFFORT:-max}"
thinking="${OPENCODE_ENABLE_THINKING:-true}"
thinking_json="null"
if [[ "$thinking" == "true" ]]; then
thinking_json='{"type":"enabled"}'
fi
cat > opencode.json <<EOJSON
{
"model": "",
"reasoning": "$effort",
"thinking": $thinking_json,
"permission": {
"edit": "deny",
"bash": {
"git commit": "deny",
"git commit *": "deny",
"git push": "deny",
"git push *": "deny",
"git add": "deny",
"git add *": "deny",
"git stash": "deny",
"git stash *": "deny",
"git reset": "deny",
"git reset *": "deny",
"git checkout": "deny",
"git checkout *": "deny"
}
}
}
EOJSON
echo "Wrote opencode.json with reasoning=$effort thinking=$thinking"

- shell: bash
env:
MULTI_REVIEW_TIMEOUT_SECONDS: ${{ inputs.timeout-seconds }}
Expand All @@ -235,8 +189,6 @@ runs:
MULTI_REVIEW_COORDINATOR_TIMEOUT_SECONDS: ${{ inputs.coordinator-timeout-seconds }}
MULTI_REVIEW_COORDINATOR_PROMPT: ${{ inputs.coordinator-prompt }}
MULTI_REVIEW_WORKING_DIRECTORY: ${{ inputs.working-directory }}
MULTI_REVIEW_REASONING_EFFORT: ${{ inputs.reasoning-effort }}
MULTI_REVIEW_ENABLE_THINKING: ${{ inputs.enable-thinking }}
MULTI_REVIEW_GITHUB_TOKEN: ${{ inputs.github-token }}
MULTI_REVIEW_ZHIPU_API_KEY: ${{ inputs.zhipu-api-key }}
MULTI_REVIEW_OPENCODE_GO_API_KEY: ${{ inputs.opencode-go-api-key }}
Expand All @@ -261,4 +213,4 @@ runs:
if [[ -n "$MULTI_REVIEW_WORKING_DIRECTORY" ]]; then
cd "$MULTI_REVIEW_WORKING_DIRECTORY"
fi
node "${{ github.action_path }}/dist/index.js"
node "${{ github.action_path }}/dist/index.cjs"
Loading
Loading