Skip to content
Merged
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
f778905
ci: add opencode GitHub review with Muse Spark model
vuon9 Aug 21, 2026
9bb8987
ci: pass GITHUB_TOKEN to opencode review action
vuon9 Aug 21, 2026
bfa29e0
ci: use deepseek-v4-flash for PR review
vuon9 Aug 21, 2026
6608391
ci: use opencode provider for deepseek-v4-flash
vuon9 Aug 21, 2026
9300922
ci: use free tier model for PR review
vuon9 Aug 21, 2026
28ac2e4
ci: extract reusable opencode review workflow
vuon9 Aug 21, 2026
13582f8
ci: fix reusable workflow prompt default
vuon9 Aug 21, 2026
e940741
ci: test reusable workflow via explicit branch ref
vuon9 Aug 21, 2026
53fe3ea
ci: add test workflow to isolate reusable call
vuon9 Aug 21, 2026
29e478b
ci: add minimal test workflow
vuon9 Aug 21, 2026
3a67f4e
ci: test minimal reusable call chain
vuon9 Aug 21, 2026
181e2ec
ci: test reusable with inputs+secrets
vuon9 Aug 21, 2026
f2ad463
ci: test reusable with env prompt
vuon9 Aug 21, 2026
ccb2b14
ci: fix multi-line prompt output in reusable workflow
vuon9 Aug 21, 2026
f15d084
ci: test caller with if condition on uses job
vuon9 Aug 21, 2026
b013967
ci: test caller if without draft ref
vuon9 Aug 21, 2026
54b9703
ci: test caller if true
vuon9 Aug 21, 2026
62c4239
ci: test if inside reusable job
vuon9 Aug 21, 2026
671d42c
ci: fix reusable workflow gating with mode input
vuon9 Aug 21, 2026
2a7b063
ci: test caller with all 4 triggers
vuon9 Aug 21, 2026
4e6382d
ci: test caller with 2 triggers (pr + issue_comment)
vuon9 Aug 21, 2026
2a411e6
ci: test caller with 1 trigger (pr only)
vuon9 Aug 21, 2026
bf35dd1
ci: test reusable with permissions block
vuon9 Aug 21, 2026
6771d5f
ci: test reusable with checkout+prompt steps
vuon9 Aug 21, 2026
ce1432e
ci: test reusable with opencode action
vuon9 Aug 21, 2026
cf1e47d
ci: use opencode-go/hy3 model + pin action to v1.18.20
vuon9 Aug 21, 2026
e323369
ci: inline opencode action steps in reusable workflow
vuon9 Aug 21, 2026
e5bece8
ci: re-test 2-trigger caller against inlined reusable
vuon9 Aug 21, 2026
562fa27
ci: test cache step in reusable
vuon9 Aug 21, 2026
7f3e9ea
ci: test version step only in reusable
vuon9 Aug 21, 2026
86d5295
ci: test simple GITHUB_OUTPUT step in reusable
vuon9 Aug 21, 2026
823b6eb
ci: test fresh-named reusable files
vuon9 Aug 21, 2026
c23fae0
ci: rename workflows to fresh paths (ai-code-review)
vuon9 Aug 21, 2026
10053c4
ci: test 2-trigger caller vs complex reusable
vuon9 Aug 21, 2026
0ec7111
ci: test checkout step in reusable
vuon9 Aug 21, 2026
a408085
ci: test permissions only in reusable
vuon9 Aug 21, 2026
238327b
ci: test caller without pull_request types
vuon9 Aug 21, 2026
0ee06c9
ci: test same caller but different file name
vuon9 Aug 21, 2026
ca49c8e
ci: test permissions without id-token
vuon9 Aug 21, 2026
5664f89
ci: test permissions on caller not reusable
vuon9 Aug 21, 2026
3cb908e
ci: fix reusable workflow permissions placement
vuon9 Aug 21, 2026
fff387b
ci: apply review feedback to ai-code-review workflow
vuon9 Aug 21, 2026
eab9ed1
ci: add concurrency + timeout to stop notification spam
vuon9 Aug 21, 2026
81334dd
ci: switch default review model to muse-spark-1.2-contributor
vuon9 Aug 22, 2026
620c974
ci: use muse-spark free tier (non-free needs workspace credits)
vuon9 Aug 22, 2026
df62fa5
ci: use ai-code-review reusable from gh-workflows repo
vuon9 Aug 22, 2026
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
56 changes: 56 additions & 0 deletions .github/workflows/ai-code-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: ai-code-review

# Dispatcher for AI code review. The actual review logic lives in the
# reusable gh-workflows repo:
#
# jobs:
# review:
# permissions:
# contents: read
# pull-requests: write
# issues: read
# uses: vuon9/gh-workflows/.github/workflows/ai-code-review-reusable.yml@v0.1.9
# with:
# model: opencode/muse-spark-1.2-contributor-free # optional
# prompt: "Custom prompt" # optional
# mode: pr # optional: pr | comment
# secrets:
# OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}

on:
workflow_dispatch:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]

# Only the newest run per PR/event executes; older in-flight runs are
# cancelled instead of stacking up notifications.
concurrency:
group: ai-code-review-${{ github.event.pull_request.number || github.event.issue.number || github.ref }}
cancel-in-progress: true

jobs:
review-pr:
permissions:
contents: read
pull-requests: write
issues: read
uses: vuon9/gh-workflows/.github/workflows/ai-code-review-reusable.yml@v0.1.9
with:
mode: pr
secrets:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}

on-demand:
permissions:
contents: read
pull-requests: write
issues: read
uses: vuon9/gh-workflows/.github/workflows/ai-code-review-reusable.yml@v0.1.9
with:
mode: comment
secrets:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
Loading