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
Showing only changes of commit 47a0c93b0b - Show all commits
+8 -1
View File
@@ -9,7 +9,14 @@ set -eu
# --format json event schema that build-activity-log.sh parses) breaks every agent in every repo # --format json event schema that build-activity-log.sh parses) breaks every agent in every repo
# at once. Bump deliberately by changing this default (or set OPENCODE_VERSION in the step env). # at once. Bump deliberately by changing this default (or set OPENCODE_VERSION in the step env).
OPENCODE_VERSION="${OPENCODE_VERSION:-1.17.13}" OPENCODE_VERSION="${OPENCODE_VERSION:-1.17.13}"
curl -fsSL https://opencode.ai/install | bash -s -- --version "$OPENCODE_VERSION" # Skip the download when a cache hit already restored the pinned binary (see the Cache
# opencode CLI step in agent.yml). The installer always re-fetches otherwise.
OC_BIN="$HOME/.opencode/bin/opencode"
if [ -x "$OC_BIN" ] && "$OC_BIN" --version 2>/dev/null | grep -qF "$OPENCODE_VERSION"; then
echo "opencode $OPENCODE_VERSION already present (cache hit) — skipping install"
else
curl -fsSL https://opencode.ai/install | bash -s -- --version "$OPENCODE_VERSION"
fi
echo "$HOME/.opencode/bin" >> "$GITHUB_PATH" echo "$HOME/.opencode/bin" >> "$GITHUB_PATH"
mkdir -p ~/.config/opencode mkdir -p ~/.config/opencode
# Playwright browser MCP only for agents that need to drive a web app # Playwright browser MCP only for agents that need to drive a web app