Files
games/docs/testing/003-RC_VALIDATION_MATRIX.md
2026-09-17 18:05:10 +02:00

3.7 KiB

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

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 :

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 :

../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 :

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

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

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.