Skip to content

Sync OpenCode Prompts #47

Sync OpenCode Prompts

Sync OpenCode Prompts #47

name: Sync OpenCode Prompts
on:
workflow_dispatch:
schedule:
- cron: "0 9 * * *"
permissions:
contents: write
pull-requests: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
sync:
name: Sync Upstream Prompt Assets
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- name: Setup Bun
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: 1.3.12
- name: Sync vendored prompts from upstream
run: bun --cwd packages/opencode-agent-prompt-inheritance run sync:prompts
- name: Detect prompt changes
id: changes
run: |
if git diff --quiet -- packages/opencode-agent-prompt-inheritance/src/prompt; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Run package verification
if: steps.changes.outputs.changed == 'true'
run: bun install --frozen-lockfile && bun --filter @capybearista/opencode-agent-prompt-inheritance run typecheck && bun --filter @capybearista/opencode-agent-prompt-inheritance run lint && bun --filter @capybearista/opencode-agent-prompt-inheritance run test && bun --filter @capybearista/opencode-agent-prompt-inheritance run build
- name: Run built-artifact smoke tests
if: steps.changes.outputs.changed == 'true'
working-directory: packages/opencode-agent-prompt-inheritance
run: bun test src/artifact.test.ts
- name: Generate changeset for prompt sync
if: steps.changes.outputs.changed == 'true'
run: |
cat > .changeset/opencode-agent-prompt-inheritance-sync.md <<'EOF'
---
"@capybearista/opencode-agent-prompt-inheritance": patch
---
Sync vendored provider prompt assets from upstream OpenCode.
EOF
- name: Create Pull Request
if: steps.changes.outputs.changed == 'true'
uses: peter-evans/create-pull-request@e8bb63f3ebc5d897733ff1f261fbf72df4b956b5 # v7.0.8
with:
commit-message: "chore(agent-prompt-inheritance): sync upstream prompt assets"
title: "chore(agent-prompt-inheritance): sync upstream OpenCode prompts"
body: |
## Summary
- Sync vendored prompt assets from upstream OpenCode
- Run package verification gates for `@capybearista/opencode-agent-prompt-inheritance`
- Include a release changeset when prompt files changed
branch: chore/sync-opencode-agent-prompts
delete-branch: true