--- 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 }}