feat(cutover): harden SPA asset cache busting and rollback playbook (#188)
This commit is contained in:
@@ -12,6 +12,22 @@ Sæt env var pr. miljø:
|
||||
Backward compatibility under cutover:
|
||||
- Hvis `USE_SPA_UI` ikke er sat, bruges `WPP_SPA_ENABLED` som fallback.
|
||||
|
||||
## Static asset versioning/cache-busting (hardening)
|
||||
Formål: sikre at browser/proxy/CDN hurtigt henter ny SPA bundle i release-vinduet uden at kræve hard refresh.
|
||||
|
||||
- `WPP_SPA_ASSET_BASE` peger fortsat på build-output (`/static/frontend/angular/browser`).
|
||||
- `WPP_SPA_ASSET_VERSION` injiceres i SPA shell URLs som query-param (`?v=<version>`).
|
||||
- Anbefalet værdi for `WPP_SPA_ASSET_VERSION`: release-tag eller kort commit SHA.
|
||||
- Ved rollback sættes `WPP_SPA_ASSET_VERSION` til den tidligere kendte stabile release-værdi.
|
||||
|
||||
Eksempel (staging/prod env):
|
||||
|
||||
```env
|
||||
USE_SPA_UI=true
|
||||
WPP_SPA_ASSET_BASE=/static/frontend/angular/browser
|
||||
WPP_SPA_ASSET_VERSION=rel-2026-03-01-bb82357
|
||||
```
|
||||
|
||||
## Staging rollout-checkliste (`USE_SPA_UI`)
|
||||
1. **Baseline (flag OFF)**
|
||||
- Bekræft at staging kører med `USE_SPA_UI=false`.
|
||||
@@ -27,15 +43,21 @@ Backward compatibility under cutover:
|
||||
4. **Post-cutover dokumentation**
|
||||
- Log evidens med commit/head SHA, UTC timestamp og gate-status.
|
||||
|
||||
## Rollback-checkpoints (staging)
|
||||
## Rollback playbook (`USE_SPA_UI`) — mål: <10 min
|
||||
Rollback til legacy (`USE_SPA_UI=false`) udføres straks hvis et checkpoint fejler:
|
||||
- Forkert route/shell for valgt flag i cutover route sanity.
|
||||
- Gameplay smoke kan ikke gennemføres til scoreboard/final leaderboard.
|
||||
- Kritisk regression i host/player flow under smoke.
|
||||
|
||||
Efter rollback:
|
||||
- Bekræft legacy routes virker igen (`/lobby/ui/host` + `/lobby/ui/player`).
|
||||
- Log rollback-trigger + repro + blocker-link i smoke artifact.
|
||||
Trin-for-trin:
|
||||
1. Sæt `USE_SPA_UI=false` i deploy-env.
|
||||
2. Sæt `WPP_SPA_ASSET_VERSION` til sidste stabile release-token.
|
||||
3. Deploy/reload app-processer.
|
||||
4. Verificér legacy routes: `/lobby/ui/host` + `/lobby/ui/player`.
|
||||
5. Kør hurtig smoke sanity (join/start/scoreboard path).
|
||||
6. Log UTC tid, trigger, release-token og resultat i smoke artifact.
|
||||
|
||||
Target: rollback + sanity-verifikation inden for 10 minutter.
|
||||
|
||||
## Verifikation
|
||||
- Flag OFF: `UiScreenTests.test_legacy_templates_are_used_when_spa_flag_is_off`
|
||||
|
||||
Reference in New Issue
Block a user