diff --git a/.gitea/workflows/agent.yml b/.gitea/workflows/agent.yml index 0622d03..62c7845 100644 --- a/.gitea/workflows/agent.yml +++ b/.gitea/workflows/agent.yml @@ -5,6 +5,10 @@ name: agent on: workflow_call: +# Pinned opencode version — used both to install it and to key the CI cache below. +env: + OPENCODE_VERSION: "1.17.13" + jobs: agent: @@ -121,6 +125,24 @@ jobs: 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 + - 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) if: steps.prep.outputs.mode != 'skip' env: