Split single build-and-deploy job into 4 jobs: build-backend, build-worker, build-frontend run in parallel (all 3 independent), deploy job has needs:[...] on all three. Removes ~2 min of sequential build time on warm cache runs. Also: scope GHA cache keys per image (backend-lean / worker-chromium / frontend) so builds don't invalidate each other's layer cache. Replace sleep 8 health-check with a 30-iteration polling loop (fails fast on bad deploy, doesn't over-wait on fast ones). Add --mount=type=cache to frontend npm ci for node_modules cache across builds. |
||
|---|---|---|
| .. | ||
| ci.yml | ||
| deploy-obsidian.yml | ||
| deploy.yml | ||