0.1.0-3-rc.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/000-README.md -->
|
||||
<!-- version: 16 -->
|
||||
<!-- version: 17 -->
|
||||
|
||||
# Documentation games.sasedev
|
||||
|
||||
@@ -50,6 +50,7 @@ Voir [`../RULES.md`](../RULES.md), notamment [`rules/RULES_COMMANDS.md`](rules/R
|
||||
|
||||
- [`testing/001-TEST_ARCHITECTURE.md`](testing/001-TEST_ARCHITECTURE.md) — séparation `unit_tests/` / `tests/`, tests ciblés et tracing de test.
|
||||
- [`testing/002-BETA_VALIDATION_MATRIX.md`](testing/002-BETA_VALIDATION_MATRIX.md) — matrice beta Desktop SDL3, Tauri/WASM et Android multi-appareils.
|
||||
- [`testing/003-RC_VALIDATION_MATRIX.md`](testing/003-RC_VALIDATION_MATRIX.md) — matrice RC de reproductibilité, packaging final et promotion vers `0.1.0`.
|
||||
- [`development/003-TRACING_AND_DIAGNOSTICS.md`](development/003-TRACING_AND_DIAGNOSTICS.md) — socle `tracing`, subscriber et appender communs.
|
||||
- [`development/004-SDL3_DESKTOP_PREREQUISITES.md`](development/004-SDL3_DESKTOP_PREREQUISITES.md) — prérequis SDL3 Desktop, stratégie de liaison système et vérification `pkg-config`.
|
||||
- [`development/005-DESKTOP_WINDOW_POLICY.md`](development/005-DESKTOP_WINDOW_POLICY.md) — taille initiale, redimensionnement et séparation future entre fenêtre physique et résolution virtuelle.
|
||||
@@ -59,4 +60,3 @@ Voir [`../RULES.md`](../RULES.md), notamment [`rules/RULES_COMMANDS.md`](rules/R
|
||||
## Historique validé
|
||||
|
||||
- [`../history/README.md`](../history/README.md) — convention et navigation de l'historique transitoire immuable des jalons validés.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/rules/RULES_COMMANDS.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# Règles d'exécution des commandes
|
||||
|
||||
@@ -69,3 +69,13 @@
|
||||
- **CMD-BETA-002** — La transition alpha vers beta exécute une suite Cargo workspace complète en plus des tests ciblés.
|
||||
- **CMD-BETA-003** — Le build Tauri de packaging est lancé via `cargo tauri build`; ses hooks possèdent le build WASM et Vite/TypeScript.
|
||||
- **CMD-BETA-004** — Les APK Debug servent à la validation multi-appareils beta ; la signature de publication appartient à la phase RC/stable.
|
||||
|
||||
## RC et release
|
||||
|
||||
- **CMD-RC-001** — L'entrée en RC gèle le périmètre fonctionnel de `0.1.0` ; seuls les correctifs, la reproductibilité des builds, le packaging, la documentation de livraison et les défauts de release sont admis.
|
||||
- **CMD-RC-002** — La validation d'une RC exécute `cargo test --workspace --all-targets --all-features` en plus des audits, du check et de Clippy strict.
|
||||
- **CMD-RC-003** — Les deux runners Desktop natifs sont construits en `--release` et font l'objet d'un smoke sur les binaires de release.
|
||||
- **CMD-RC-004** — Le POC Tauri est construit uniquement via `cargo tauri build`; ses hooks possèdent toujours le build WASM et Vite/TypeScript.
|
||||
- **CMD-RC-005** — Android RC revalide au minimum x86_64 sur AVD et ARM64 sur appareil réel avec les APK issus de l'état RC.
|
||||
- **CMD-RC-006** — Les secrets de signature, keystores et credentials de publication ne sont jamais commités. Leur présence est une condition externe de publication, pas une donnée du dépôt.
|
||||
- **CMD-RC-007** — Une RC n'est promue en stable que si aucun correctif `.fix.N` n'est nécessaire après la gate RC complète.
|
||||
|
||||
144
docs/testing/003-RC_VALIDATION_MATRIX.md
Normal file
144
docs/testing/003-RC_VALIDATION_MATRIX.md
Normal file
@@ -0,0 +1,144 @@
|
||||
<!-- file: docs/testing/003-RC_VALIDATION_MATRIX.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Matrice de validation RC 0.1.0
|
||||
|
||||
## Objectif
|
||||
|
||||
La phase RC n'ajoute aucune fonctionnalité au socle `0.1.0`.
|
||||
|
||||
Elle vérifie qu'un état candidat peut être reproduit, packagé et promu en stable sans modification fonctionnelle.
|
||||
|
||||
## Gel fonctionnel
|
||||
|
||||
Pendant `3-rc.*`, les changements admis sont limités à :
|
||||
|
||||
- correction d'un défaut ;
|
||||
- correction de packaging ou de build release ;
|
||||
- correction documentaire de livraison ;
|
||||
- compatibilité nécessaire à la distribution ;
|
||||
- sécurité ou conformité bloquant la release.
|
||||
|
||||
Tout nouveau gameplay ou nouvelle capacité est reporté après `0.1.0`.
|
||||
|
||||
## Gate statique et Rust
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo fmt --all -- --check
|
||||
|
||||
python3 scripts/audit_rust_workspace_rules.py
|
||||
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android deltas history
|
||||
python3 scripts/audit_distribution_layout.py
|
||||
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
cargo test --workspace --all-targets --all-features
|
||||
```
|
||||
|
||||
## Desktop SDL3 natif
|
||||
|
||||
Build release :
|
||||
|
||||
```bash
|
||||
cargo build -p game-reflex-poc-desktop --release
|
||||
cargo build -p game-snake-poc-desktop --release
|
||||
```
|
||||
|
||||
Smoke sur les binaires produits sous le répertoire externe de build :
|
||||
|
||||
```bash
|
||||
../builds/sasedev-games/target/release/game-reflex-poc-desktop
|
||||
../builds/sasedev-games/target/release/game-snake-poc-desktop
|
||||
```
|
||||
|
||||
Critères :
|
||||
|
||||
- démarrage ;
|
||||
- rendu ;
|
||||
- contrôles ;
|
||||
- sortie propre ;
|
||||
- aucune dépendance à un fichier généré dans le dépôt.
|
||||
|
||||
## Tauri / WASM
|
||||
|
||||
Build candidat :
|
||||
|
||||
```bash
|
||||
cd crates/apps/game-reflex-poc-tauri
|
||||
cargo tauri build
|
||||
cd ../../..
|
||||
```
|
||||
|
||||
Ne pas lancer `npm run build` comme gate manuelle indépendante.
|
||||
|
||||
Critères :
|
||||
|
||||
- build WASM piloté par le hook ;
|
||||
- Vite/TypeScript piloté par le hook ;
|
||||
- frontend généré hors racine de build interdite ;
|
||||
- binaire Tauri release produit ;
|
||||
- smoke Reflex ;
|
||||
- tracing Rust/TypeScript ;
|
||||
- `Escape` ferme proprement.
|
||||
|
||||
## Android x86_64 / API 36
|
||||
|
||||
```bash
|
||||
python3 scripts/build_android_rust.py reflex --abi x86_64
|
||||
python3 scripts/build_android_rust.py snake --abi x86_64
|
||||
|
||||
cd Android
|
||||
gradle :game-reflex-poc:assembleDebug
|
||||
gradle :game-snake-poc:assembleDebug
|
||||
cd ..
|
||||
```
|
||||
|
||||
Déployer les deux APK sur l'AVD de référence et revalider :
|
||||
|
||||
- démarrage ;
|
||||
- tactile ;
|
||||
- logcat ;
|
||||
- Back système ;
|
||||
- arrêt propre.
|
||||
|
||||
## Android ARM64 réel
|
||||
|
||||
```bash
|
||||
python3 scripts/build_android_rust.py reflex --abi arm64-v8a
|
||||
python3 scripts/build_android_rust.py snake --abi arm64-v8a
|
||||
|
||||
cd Android
|
||||
gradle :game-reflex-poc:assembleDebug
|
||||
gradle :game-snake-poc:assembleDebug
|
||||
cd ..
|
||||
```
|
||||
|
||||
Déployer sur l'appareil ARM64 de référence et revalider Reflex et Snake.
|
||||
|
||||
## Artefacts et signature
|
||||
|
||||
Les secrets de publication ne font pas partie du dépôt.
|
||||
|
||||
Avant publication stable, vérifier séparément :
|
||||
|
||||
- identité/package final ;
|
||||
- `versionCode` Android approprié ;
|
||||
- keystore/signing Android disponible hors dépôt ;
|
||||
- artefacts Desktop/Tauri attendus ;
|
||||
- licences et assets distribuables ;
|
||||
- absence de secrets dans l'archive/repository ;
|
||||
- provenance exacte du commit/tag de release.
|
||||
|
||||
La RC peut être validée fonctionnellement avec les artefacts de test existants ; la publication vers un store exige ensuite les credentials externes correspondants.
|
||||
|
||||
## Promotion stable
|
||||
|
||||
`0.1.0-3-rc.1` peut être promue vers `0.1.0` uniquement si :
|
||||
|
||||
- toutes les gates ci-dessus sont propres ;
|
||||
- aucun défaut fonctionnel ou packaging n'est ouvert ;
|
||||
- aucune modification de code n'est nécessaire après la dernière validation ;
|
||||
- la documentation de release correspond exactement aux artefacts validés.
|
||||
|
||||
Si un défaut apparaît, produire `0.1.0-3-rc.1.fix.N` et recommencer la gate affectée.
|
||||
Reference in New Issue
Block a user