Add pnpm store cache to all 7 CI jobs that run pnpm install --frozen-lockfile, reducing install time and the window for GitHub Actions download network timeouts (flake type 1: runs #163, #165)
Increase E2E webServer.timeout from 3 min to 5 min in playwright.config.ts (flake type 2: run #172 — QNAP Next.js cold-start is slow)
Increase Docker deploy health-check poll from seq 1 36 (3 min) to seq 1 60 (5 min) in "Resolve and pin app IP" step (flake type 3: run #173)
Add docker pull node:20-bookworm-slim step before "Build and start app" to warm the Docker layer cache
Test plan
CI pipeline runs green on this PR
All 9 jobs complete without network-timeout or health-check failures
pnpm store cache is populated on first run and restored on subsequent runs
E2E job webServer starts within the 5-minute window
Docker deploy health poll succeeds within the 5-minute window
## Summary
- Add pnpm store cache to all 7 CI jobs that run `pnpm install --frozen-lockfile`, reducing install time and the window for GitHub Actions download network timeouts (flake type 1: runs #163, #165)
- Increase E2E `webServer.timeout` from 3 min to 5 min in `playwright.config.ts` (flake type 2: run #172 — QNAP Next.js cold-start is slow)
- Increase Docker deploy health-check poll from `seq 1 36` (3 min) to `seq 1 60` (5 min) in "Resolve and pin app IP" step (flake type 3: run #173)
- Add `docker pull node:20-bookworm-slim` step before "Build and start app" to warm the Docker layer cache
## Test plan
- [ ] CI pipeline runs green on this PR
- [ ] All 9 jobs complete without network-timeout or health-check failures
- [ ] pnpm store cache is populated on first run and restored on subsequent runs
- [ ] E2E job webServer starts within the 5-minute window
- [ ] Docker deploy health poll succeeds within the 5-minute window
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
pnpm install --frozen-lockfile, reducing install time and the window for GitHub Actions download network timeouts (flake type 1: runs #163, #165)webServer.timeoutfrom 3 min to 5 min inplaywright.config.ts(flake type 2: run #172 — QNAP Next.js cold-start is slow)seq 1 36(3 min) toseq 1 60(5 min) in "Resolve and pin app IP" step (flake type 3: run #173)docker pull node:20-bookworm-slimstep before "Build and start app" to warm the Docker layer cacheTest plan