0.3.1-2-beta.1
This commit is contained in:
96
docs/testing/005-V0_3_1_RC_VALIDATION_MATRIX.md
Normal file
96
docs/testing/005-V0_3_1_RC_VALIDATION_MATRIX.md
Normal file
@@ -0,0 +1,96 @@
|
||||
<!-- file: docs/testing/005-V0_3_1_RC_VALIDATION_MATRIX.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Matrice de validation RC 0.3.1
|
||||
|
||||
## Objectif
|
||||
|
||||
`0.3.1-3-rc.1` est une candidate gelée. Elle n'ajoute aucune fonctionnalité au POC Snake Tauri Android ; elle vérifie qu'un état reproductible peut être promu mécaniquement vers `0.3.1`.
|
||||
|
||||
Le host Tauri Android reste un POC de référence. La voie Android productive reste SDL3 natif/Java/JNI. Aucun AAB Tauri n'est requis pour cette RC.
|
||||
|
||||
## Gel fonctionnel
|
||||
|
||||
Pendant `3-rc.*`, seules les corrections autorisées par `VER-RC-*` sont admises. Tout nouveau gameplay, contrôle swipe, refactor Web/Tauri, framework commun, intégration publicitaire ou changement volontaire de comportement est hors scope.
|
||||
|
||||
## Gate workspace
|
||||
|
||||
Depuis la racine :
|
||||
|
||||
```bash
|
||||
export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64
|
||||
|
||||
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 Web 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
|
||||
```
|
||||
|
||||
Cette suite complète est volontairement répétée au jalon RC parce que la version technique et les métadonnées frontend sont promues vers la candidate.
|
||||
|
||||
## Packaging Android autonome
|
||||
|
||||
Installer/actualiser les dépendances frontend, puis laisser Tauri posséder le build WASM/Vite :
|
||||
|
||||
```bash
|
||||
(cd crates/apps/game-snake-poc-tauri && npm install)
|
||||
|
||||
(cd crates/apps/game-snake-poc-tauri && \
|
||||
cargo tauri android build --debug --apk --target aarch64 --target x86_64)
|
||||
```
|
||||
|
||||
Ne pas lancer `npm run build` manuellement. Le hook `beforeBuildCommand` doit construire le WASM release, générer les bindings, exécuter TypeScript/Vite et copier les assets.
|
||||
|
||||
Le package RC de validation reste un APK Debug universal car `0.3.1` ne constitue pas la voie Android de production et ne possède aucun secret/signing de store. L'AAB de production sera étudié dans la future version Android SDL3 native.
|
||||
|
||||
## Contrôle ABI
|
||||
|
||||
À partir du chemin `<apk>` affiché par Tauri :
|
||||
|
||||
```bash
|
||||
unzip -l <apk> | grep -E 'lib/(arm64-v8a|x86_64)/libgame_snake_poc_tauri_lib\.so'
|
||||
```
|
||||
|
||||
Les deux entrées doivent être présentes.
|
||||
|
||||
## Smoke AVD x86_64
|
||||
|
||||
Lancer l'AVD de référence dans un terminal séparé :
|
||||
|
||||
```bash
|
||||
emulator -avd sasedev_games_api36
|
||||
```
|
||||
|
||||
Puis :
|
||||
|
||||
```bash
|
||||
adb devices -l
|
||||
adb -s emulator-5554 install -r <apk>
|
||||
adb -s emulator-5554 shell am start -n com.sasedev.games.snake.tauri/.MainActivity
|
||||
```
|
||||
|
||||
Vérifier : démarrage, Canvas, assets, WASM, contrôles disponibles, lifecycle background/foreground, reprise sans rattrapage et Back sans crash.
|
||||
|
||||
## Smoke ARM64 réel
|
||||
|
||||
Avec le Galaxy S9+ ou un autre appareil ARM64 disponible :
|
||||
|
||||
```bash
|
||||
adb -s <serial> shell getprop ro.product.cpu.abi
|
||||
adb -s <serial> install -r <apk>
|
||||
adb -s <serial> shell am start -n com.sasedev.games.snake.tauri/.MainActivity
|
||||
```
|
||||
|
||||
Vérifier : provenance `android / tauri-webview / wasm / phone / touch`, contrôles tactiles, background/foreground, reprise sans rattrapage, rotation/resize si disponible et plusieurs Back. Aucun Vite, `adb reverse` ou port `1436` ne doit être nécessaire.
|
||||
|
||||
Le crash `FORTIFY: pthread_mutex_lock called on a destroyed mutex` observé une fois en dev reste un point de surveillance. Sa reproduction sur l'APK autonome RC bloque la promotion stable et impose un `3-rc.1.fix.N`; son absence pendant les smokes RC permet de clore ce risque comme non reproductible dans l'état candidat.
|
||||
|
||||
## Promotion stable
|
||||
|
||||
Si la gate RC est propre et qu'aucun correctif n'est nécessaire, la promotion vers `0.3.1` est mécanique : versions stables, entrée stable du `CHANGELOG.md`, historique RC, clôture du plan et delta de release. Aucun code fonctionnel ne doit changer.
|
||||
Reference in New Issue
Block a user