80 lines
3.1 KiB
Markdown
80 lines
3.1 KiB
Markdown
# Sign-off Release v1.0.0 — Checklist
|
|
|
|
**Document** : Validation des critères de release v1.0.0
|
|
**Référence** : [ROADMAP_V09XX_TO_V1.md](ROADMAP_V09XX_TO_V1.md) section 15
|
|
**Date de validation** : ___________
|
|
**Validateur** : ___________
|
|
|
|
---
|
|
|
|
## Critères obligatoires
|
|
|
|
| # | Critère | Statut | Preuve / Commande |
|
|
|---|---------|--------|-------------------|
|
|
| 1 | Zéro vulnérabilité CRITIQUE ou ÉLEVÉE | | `govulncheck ./...`, `cargo audit`, `npm audit` |
|
|
| 2 | Flux OAuth fonctionnel E2E (Google, GitHub) | | Test d'intégration OAuth |
|
|
| 3 | Flux paiement Hyperswitch vérifié E2E | | Test d'intégration paiement |
|
|
| 4 | Couverture tests Go — par package critique (auth > 80%, core > 70%, handlers > 50%, global > 55%) | | `go test -cover ./...` |
|
|
| 5 | Couverture tests Frontend > 50% global | | `cd apps/web && npm run test -- --coverage --run` |
|
|
| 6 | Couverture tests Rust > 30% global | | `cargo tarpaulin` |
|
|
| 7 | Tests passent sans skip excessif (< 50 skips Go, < 5 skips E2E) | | `go test -short ./...`, `grep -r "t.Skip" \| wc -l` |
|
|
| 8 | Load test : 1000 WebSocket simultanées | | Script loadtests |
|
|
| 9 | Load test : 500 req/s API | | k6 stress_500rps.js |
|
|
| 10 | P99 < 500ms endpoints critiques | | Prometheus ou rapport load test |
|
|
| 11 | Zéro TODO/FIXME dans le code | | `grep -rn "TODO\|FIXME\|HACK" --include="*.go" --include="*.ts" --include="*.tsx" --include="*.rs"` |
|
|
| 12 | Documentation API complète (OpenAPI validée) | | `swagger-cli validate openapi.yaml` |
|
|
| 13 | Runbook opérationnel (déploiement, rollback, incident) | | Fichiers `docs/runbooks/*.md` |
|
|
| 14 | Dashboard Grafana fonctionnel avec alertes | | Screenshot, test alerte |
|
|
| 15 | Migrations consolidées | | `000_full_schema.sql` ou équivalent |
|
|
| 16 | VERSION file synchronisé | | `cat VERSION` == `git describe --tags --abbrev=0` |
|
|
| 17 | Docker images sans vulnérabilité CRITICAL | | Trivy scan |
|
|
| 18 | Secrets : rotation documentée, aucun en dur | | `docs/runbooks/SECRET_ROTATION.md`, `grep` |
|
|
| 19 | RGPD/CCPA : export, suppression, opt-out | | [docs/RGPD_CCPA_VERIFICATION.md](RGPD_CCPA_VERIFICATION.md) |
|
|
| 20 | Accessibilité : Lighthouse > 90 | | [docs/PERFORMANCE_BASELINE.md](PERFORMANCE_BASELINE.md) section Lighthouse |
|
|
| 21 | PWA : mode dégradé offline | | [docs/PWA_OFFLINE_VERIFICATION.md](PWA_OFFLINE_VERIFICATION.md) |
|
|
|
|
---
|
|
|
|
## Résumé
|
|
|
|
| Statut | Count |
|
|
|--------|-------|
|
|
| PASS | |
|
|
| FAIL | |
|
|
| N/A (documenté) | |
|
|
|
|
**Verdict** : [ ] GO [ ] NO-GO
|
|
|
|
---
|
|
|
|
## Sign-off RC1 (v0.991)
|
|
|
|
- [ ] Tous les critères PASS ou documentés
|
|
- [ ] Scan sécurité : zéro CRITICAL
|
|
- [ ] Code freeze effectif (branche `release/v1.0.0`)
|
|
- [ ] Images Docker production prêtes
|
|
|
|
**Date** : ___________
|
|
**Signataire** : ___________
|
|
|
|
---
|
|
|
|
## Sign-off RC2 (v0.992)
|
|
|
|
- [x] Zéro bug ouvert (aucun bug RC1 identifié)
|
|
- [x] Sign-off final validé
|
|
- [x] Release notes prêtes (RELEASE_NOTES_V1.md)
|
|
|
|
**Date** : 2026-03-03
|
|
**Signataire** : Release automation
|
|
|
|
---
|
|
|
|
## Sign-off v1.0.0
|
|
|
|
- [ ] Déploiement production réussi
|
|
- [ ] Smoke test post-déploiement OK
|
|
- [ ] Release notes publiées
|
|
|
|
**Date** : ___________
|
|
**Signataire** : ___________
|