You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**Auto-rollback**|`deploy.sh` keeps the previous `current` target until the new release passes health checks | Restores the last known-good symlink if deploy breaks the app |
30
-
|**Automatic versioning**|`bump-version` job creates `v1.x.x` tags on every merge to main|Release history is automatic; no manual tagging|
29
+
|**Controlled release trigger**|`release.yml` runs from a manual dispatch or pushed `v*` tag|Avoids accidental EC2 deploys from routine CI commits|
31
30
|**Health check monitoring**| Scheduled workflow runs hourly and reuses one open health-check issue while an outage is active | Avoids duplicate alert noise and keeps incident state readable |
32
-
|**Separate CI / CD workflows**|`ci.yml`+ `release.yml`split by tag trigger|CD only runs on verified, tagged builds — not every push|
31
+
|**Separate CI / CD workflows**|`ci.yml`validates code; `release.yml`deploys from manual or tag triggers|Keeps routine validation separate from EC2 deployment|
33
32
34
33
---
35
34
@@ -39,10 +38,9 @@ Push to main / feature branch
39
38
Triggers: push to `main`, `development`, `feature/*` branches + all PRs
40
39
41
40
1.**`build-and-test`**: Node 22/24 matrix → `npm ci` → Jest test suite → ESLint gate
0 commit comments