deploy-infra has needs: [test, changes]. On a manual dispatch, changes can be
skipped or output false — and because deploy-infra depends on it, GitHub skips the
whole job before the if even matters. Adding always() forces the condition to
be evaluated regardless of the upstream job's result, so a manual dispatch runs
deploy-infra unconditionally.
- Commit .github/workflows/deploy.yml (backend/lambdas/tasks/handler.ts is included too).
- Actions → Deploy (NOT Deploy Front Desk) → Run workflow → main → Run.
- deploy-infra now runs for MINUTES (real CDK deploy). Watch that duration.
- Green → tasks lambda has frustration + bridgeBuild → one angry test call → chip shows a real rating.