Files
2026-07-01 20:54:34 +09:00

73 lines
2.5 KiB
YAML

---
name: Pull request review and mention bot using OpenCode
on:
pull_request:
types:
- opened
- ready_for_review
issue_comment:
types:
- created
pull_request_review_comment:
types:
- created
pull_request_review:
types:
- submitted
issues:
types:
- opened
- assigned
permissions:
contents: read
jobs:
opencode-review:
if: >
github.event_name == 'pull_request'
&& contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.pull_request.author_association)
&& (! github.event.pull_request.draft)
&& (! startsWith(github.head_ref, 'dependabot/'))
&& (! startsWith(github.head_ref, 'renovate/'))
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
actions: read
uses: dceoy/gh-actions-for-devops/.github/workflows/opencode-review.yml@main # zizmor: ignore[unpinned-uses]
with:
model: opencode-go/kimi-k2.7-code
secrets:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GH_TOKEN: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
opencode-bot:
if: >
(
(github.event_name == 'issue_comment' || github.event_name == 'pull_request_review_comment')
&& contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)
&& (contains(github.event.comment.body, '/oc') || contains(github.event.comment.body, '/opencode'))
) || (
github.event_name == 'pull_request_review'
&& contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.review.author_association)
&& (contains(github.event.review.body, '/oc') || contains(github.event.review.body, '/opencode'))
) || (
github.event_name == 'issues'
&& contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.issue.author_association)
&& (
(contains(github.event.issue.body, '/oc') || contains(github.event.issue.title, '/oc'))
|| (contains(github.event.issue.body, '/opencode') || contains(github.event.issue.title, '/opencode'))
)
)
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
actions: read
uses: dceoy/gh-actions-for-devops/.github/workflows/opencode-bot.yml@main # zizmor: ignore[unpinned-uses]
with:
model: opencode-go/glm-5.2
secrets:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
GH_TOKEN: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}