Every ARC runner pod (lean + dind templates, deploy/helm/applications/cicd/github-actions/values.yaml) runs a bash bootstrap at startup: apt-get update + install gh/libatomic1 + AWS CLI download/verify. On top of that, every creativetoolkits CI job pays ~5.8 min of 'Setup Node and dependencies' (pnpm store restore + link) and web/desktop e2e jobs pay ~1.7 min of Playwright Chromium install.
Build a custom runner image (FROM ghcr.io/actions/actions-runner) with:
- gh, libatomic1, AWS CLI baked in (delete the runtime bootstrap args)
- Node 26 + pnpm preinstalled
- Playwright Chromium + system deps baked (pin to the repo's playwright version; rebuild on bump)
- optional: pre-warmed pnpm store snapshot to cut install to link-only
Expected effect: minus ~1 min pod boot latency and minus 4-6 min per job across every creativetoolkits CI job. Part of the <15 min PR CI wall-clock target (with creativetoolkits nx-cache seeding, ai-dev-env#846 runner concurrency, and CTK-384 e2e parallelization).
Every ARC runner pod (lean + dind templates, deploy/helm/applications/cicd/github-actions/values.yaml) runs a bash bootstrap at startup: apt-get update + install gh/libatomic1 + AWS CLI download/verify. On top of that, every creativetoolkits CI job pays ~5.8 min of 'Setup Node and dependencies' (pnpm store restore + link) and web/desktop e2e jobs pay ~1.7 min of Playwright Chromium install.
Build a custom runner image (FROM ghcr.io/actions/actions-runner) with:
Expected effect: minus ~1 min pod boot latency and minus 4-6 min per job across every creativetoolkits CI job. Part of the <15 min PR CI wall-clock target (with creativetoolkits nx-cache seeding, ai-dev-env#846 runner concurrency, and CTK-384 e2e parallelization).