feat(ci): dependency caching for agent runs (opencode + Playwright) #106
@@ -5,6 +5,10 @@ name: agent
|
|||||||
on:
|
on:
|
||||||
workflow_call:
|
workflow_call:
|
||||||
|
|
||||||
|
# Pinned opencode version — used both to install it and to key the CI cache below.
|
||||||
|
env:
|
||||||
|
OPENCODE_VERSION: "1.17.13"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
agent:
|
agent:
|
||||||
@@ -121,6 +125,24 @@ jobs:
|
|||||||
curl -sS -X POST -H "Authorization: token $SELF_TOKEN" -H "Content-Type: application/json" \
|
curl -sS -X POST -H "Authorization: token $SELF_TOKEN" -H "Content-Type: application/json" \
|
||||||
"$R" -d '{"content":"eyes"}' -w '\nreact -> HTTP %{http_code}\n' || true
|
"$R" -d '{"content":"eyes"}' -w '\nreact -> HTTP %{http_code}\n' || true
|
||||||
|
|
||||||
|
- name: Cache opencode CLI
|
||||||
|
if: steps.prep.outputs.mode != 'skip'
|
||||||
|
continue-on-error: true # a cache backend hiccup must never fail an agent run
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.opencode
|
||||||
|
key: opencode-${{ runner.os }}-${{ env.OPENCODE_VERSION }}
|
||||||
|
|
||||||
|
- name: Cache Playwright browsers + npm (browser agents only)
|
||||||
|
if: steps.prep.outputs.mode != 'skip' && (steps.prep.outputs.name == 'senior' || steps.prep.outputs.name == 'lead' || steps.prep.outputs.name == 'qa')
|
||||||
|
continue-on-error: true
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/ms-playwright
|
||||||
|
~/.npm
|
||||||
|
key: playwright-npm-${{ runner.os }}-v1
|
||||||
|
|
||||||
- name: Install opencode + provider config (+ Playwright MCP for browser agents)
|
- name: Install opencode + provider config (+ Playwright MCP for browser agents)
|
||||||
if: steps.prep.outputs.mode != 'skip'
|
if: steps.prep.outputs.mode != 'skip'
|
||||||
env:
|
env:
|
||||||
|
|||||||
Reference in New Issue
Block a user