feat(ci): dependency caching for agent runs (opencode + Playwright) #106

Merged
ffaerber merged 2 commits from feat/ci-dependency-caching into main 2026-07-07 17:16:25 +02:00
Owner

Speeds up agent runs by caching the tools each run currently re-downloads.

  • opencode CLI cached at ~/.opencode, keyed on the pinned OPENCODE_VERSION (now a top-level env, single source of truth). install-opencode.sh skips the download when the pinned binary is already present.
  • Playwright browsers + npm cached at ~/.cache/ms-playwright + ~/.npm for the browser agents (@senior/@lead/@qa) that run npx playwright install chromium (~120MB) every run.

Both cache steps are continue-on-error so a missing/misconfigured cache backend can never fail a run — worst case it is a no-op and installs proceed as before. Playwright cache uses a static key (…-v1); playwright install still verifies the browser revision and downloads only the delta, so a stale cache stays correct.

Speeds up agent runs by caching the tools each run currently re-downloads. - **opencode CLI** cached at `~/.opencode`, keyed on the pinned `OPENCODE_VERSION` (now a top-level env, single source of truth). `install-opencode.sh` skips the download when the pinned binary is already present. - **Playwright browsers + npm** cached at `~/.cache/ms-playwright` + `~/.npm` for the browser agents (`@senior/@lead/@qa`) that run `npx playwright install chromium` (~120MB) every run. Both cache steps are `continue-on-error` so a missing/misconfigured cache backend can never fail a run — worst case it is a no-op and installs proceed as before. Playwright cache uses a static key (`…-v1`); `playwright install` still verifies the browser revision and downloads only the delta, so a stale cache stays correct.
ffaerber added 2 commits 2026-07-07 17:16:09 +02:00
feat(ci): skip opencode re-download on cache hit
ci / lint (push) Skipped
ci / lint (pull_request) Successful in 11s
47a0c93b0b
ffaerber added 1 commit 2026-07-07 17:16:10 +02:00
feat(ci): skip opencode re-download on cache hit
ci / lint (pull_request) Successful in 11s
ci / lint (push) Skipped
47a0c93b0b
ffaerber merged commit 75a2493dee into main 2026-07-07 17:16:25 +02:00
ffaerber deleted branch feat/ci-dependency-caching 2026-07-07 17:16:25 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/agents#106