-
-
Notifications
You must be signed in to change notification settings - Fork 0
98 lines (98 loc) · 3.24 KB
/
opencode-bot.yml
File metadata and controls
98 lines (98 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
---
name: Mention bot using opencode
on:
# issue_comment:
# types:
# - created
# pull_request_review_comment:
# types:
# - created
workflow_call:
inputs:
model:
required: false
type: string
description: Model to use with opencode
default: opencode/claude-sonnet-4-5
agent:
required: false
type: string
description: Primary agent to use (falls back to default_agent or 'build')
default: null
share:
required: false
type: string
description: Share the opencode session (defaults to true for public repos)
default: null
prompt:
required: false
type: string
description: Custom prompt to override the default prompt
default: null
use-github-token:
required: false
type: boolean
description: Use GITHUB_TOKEN directly instead of OpenCode App token exchange
default: false
mentions:
required: false
type: string
description: Comma-separated list of trigger phrases (case-insensitive)
default: /opencode,/oc
variant:
required: false
type: string
description: Model variant for provider-specific reasoning effort (e.g., high, max, minimal)
default: null
oidc-base-url:
required: false
type: string
description: Base URL for OIDC token exchange API
default: null
opencode-permission:
required: false
type: string
description: JSON string passed via OPENCODE_PERMISSION to restrict opencode capabilities
default: '{"bash": "deny"}'
runs-on:
required: false
type: string
description: Runner to use
default: ubuntu-latest
secrets:
OPENCODE_API_KEY:
required: false
description: API key for opencode
GH_TOKEN:
required: false
description: GitHub token for accessing the repository
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
jobs:
opencode-bot:
runs-on: ${{ inputs.runs-on }}
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 1
token: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }} # zizmor: ignore[secrets-outside-env] caller-provided secret
persist-credentials: false
- name: Run opencode
uses: anomalyco/opencode/github@bebe5442a5c2395f2eafe9d7dca463e453532e52 # v1.14.28
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} # zizmor: ignore[secrets-outside-env] caller-provided secret
OPENCODE_PERMISSION: ${{ inputs.opencode-permission }}
GITHUB_TOKEN: ${{ secrets.GH_TOKEN || secrets.GITHUB_TOKEN }} # zizmor: ignore[secrets-outside-env] caller-provided secret
with:
model: ${{ inputs.model }}
agent: ${{ inputs.agent }}
share: ${{ inputs.share }}
prompt: ${{ inputs.prompt }}
use_github_token: ${{ inputs.use-github-token }}
mentions: ${{ inputs.mentions }}
variant: ${{ inputs.variant }}
oidc_base_url: ${{ inputs.oidc-base-url }}