All checks were successful
Deploy — Staging / Detect changed apps (push) Successful in 16s
Deploy — Staging / Lint, Typecheck & Test (push) Successful in 1m26s
Deploy — Staging / Build & push — ${{ matrix.app }} (push) Has been skipped
Deploy — Staging / Deploy to staging VPS (push) Has been skipped
Add a changes job that diffs HEAD~1..HEAD and outputs which apps were affected. Build and deploy jobs consume the output: - build matrix is restricted to changed apps only — unchanged apps are never built or pushed - deploy pulls only rebuilt images and restarts only those containers Shared triggers (packages/, convex/, package-lock.json, turbo.json) mark both apps as changed since they affect the full dependency tree. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>