Docs : audit de complétude post-release-build (§16 workflow assembleRelease, §16.bis les deux APK par tag, §20 keystore dédié restant, §19 smoke-test R8, historique, README)
This commit is contained in:
parent
1900cb377d
commit
64365bd66a
@ -69,8 +69,9 @@ Pas de Play Store : l'app est sideloadée. Détails pas-à-pas : [docs/GUIDE_INS
|
|||||||
## Git
|
## Git
|
||||||
|
|
||||||
Dépôt : **https://gitea.cloudyfy.fr/Siphonight/HormoneTrack** (privé), avec
|
Dépôt : **https://gitea.cloudyfy.fr/Siphonight/HormoneTrack** (privé), avec
|
||||||
**releases taguées** (`v1.1.0` → `v1.2.3`) et **APK en pièce jointe de chaque
|
**releases taguées** (`v1.1.0` → `v1.2.5`) et **deux APK par release**
|
||||||
release** (téléchargeable sans compiler, cf [docs/DEVELOPPEMENT.md §16.bis](docs/DEVELOPPEMENT.md)) :
|
(téléchargeables sans compiler, cf [docs/DEVELOPPEMENT.md §16.bis](docs/DEVELOPPEMENT.md)) :
|
||||||
|
`-release.apk` (**recommandé**, optimisé R8, 2,4 Mo) et `-debug.apk` (20 Mo) :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git tag # lister les releases
|
git tag # lister les releases
|
||||||
|
|||||||
@ -64,6 +64,7 @@ Fonctionnalités v1 :
|
|||||||
| 5 sept. 2026 (session tests/docs) | Correction de toutes les erreurs de compilation (dont 3 vrais bugs logiciels trouvés par les tests), **24 tests unitaires verts**, APK debug généré (18 MB), documentation complète (README + docs/), préparation repo git. |
|
| 5 sept. 2026 (session tests/docs) | Correction de toutes les erreurs de compilation (dont 3 vrais bugs logiciels trouvés par les tests), **24 tests unitaires verts**, APK debug généré (18 MB), documentation complète (README + docs/), préparation repo git. |
|
||||||
| 5 sept. 2026 (session v1.1.0) | Bugs remontés par l'utilisatrice : courbes vides (casse EEn) + pas d'édition des doses → corrigés ; régression épinglée sur ses données réelles ; APK v1.1.0. |
|
| 5 sept. 2026 (session v1.1.0) | Bugs remontés par l'utilisatrice : courbes vides (casse EEn) + pas d'édition des doses → corrigés ; régression épinglée sur ses données réelles ; APK v1.1.0. |
|
||||||
| 5 sept. 2026 (session v1.2.0) | **Repo git initialisé** (commits par couche + tags de release) ; montée toolchain AGP 9.4/Gradle 9.7.1/Kotlin 2.3.21/BOM 2026.08.00/compileSdk 37 ; panoramique du chart, superposition des deux modèles, prévision par « Fréquence », calibration automatique optionnelle, intervalles entre doses, TimePicker centré ; **36 tests verts**, APK v1.2.0 (23 MB). |
|
| 5 sept. 2026 (session v1.2.0) | **Repo git initialisé** (commits par couche + tags de release) ; montée toolchain AGP 9.4/Gradle 9.7.1/Kotlin 2.3.21/BOM 2026.08.00/compileSdk 37 ; panoramique du chart, superposition des deux modèles, prévision par « Fréquence », calibration automatique optionnelle, intervalles entre doses, TimePicker centré ; **36 tests verts**, APK v1.2.0 (23 MB). |
|
||||||
|
| 5 sept. 2026 (session builds release) | Question debug vs release → **builds release optimisés** (R8 full mode + shrinkResources, 20 Mo → **2,4 Mo**, signés avec la clé debug → upgradables sans perte) ; garde-fous Gson dans `proguard-rules.pro` (réflexion) ; releases publiées avec les **deux APK** (release recommandé + debug) ; 62 tests verts. |
|
||||||
| 5 sept. 2026 (session v1.2.5) | Bug graphique : double espace en haut (double insets) → **edge-to-edge propre** (`enableEdgeToEdge` + insets consommés une seule fois) ; 62 tests verts, APK v1.2.5 + release. |
|
| 5 sept. 2026 (session v1.2.5) | Bug graphique : double espace en haut (double insets) → **edge-to-edge propre** (`enableEdgeToEdge` + insets consommés une seule fois) ; 62 tests verts, APK v1.2.5 + release. |
|
||||||
| 5 sept. 2026 (session v1.2.4) | Bug `isActive` (simulation effacée) → sémantique « drapeau administratif » (§6.bis) ; régression n°3 sur le 3ᵉ export réel (transition EV inactif → EEn actif, 38 doses, 22 labs) ; **62 tests verts**, APK v1.2.4. |
|
| 5 sept. 2026 (session v1.2.4) | Bug `isActive` (simulation effacée) → sémantique « drapeau administratif » (§6.bis) ; régression n°3 sur le 3ᵉ export réel (transition EV inactif → EEn actif, 38 doses, 22 labs) ; **62 tests verts**, APK v1.2.4. |
|
||||||
| 5 sept. 2026 (session push Gitea + v1.2.3) | Push initial vers **gitea.cloudyfy.fr/Siphonight/HormoneTrack** (privé) après **anonymisation de l'historique** (filter-branch : les premiers commits embarquaient les valeurs réelles des tests) ; **données de test réelles déplacées hors dépôt** (`local-test-data/` gitignoré, tests `Assume`-skippés) ; **releases avec APK en pièce jointe** ; pics/creux + calibration T par période d'ester ; **56 tests verts**. |
|
| 5 sept. 2026 (session push Gitea + v1.2.3) | Push initial vers **gitea.cloudyfy.fr/Siphonight/HormoneTrack** (privé) après **anonymisation de l'historique** (filter-branch : les premiers commits embarquaient les valeurs réelles des tests) ; **données de test réelles déplacées hors dépôt** (`local-test-data/` gitignoré, tests `Assume`-skippés) ; **releases avec APK en pièce jointe** ; pics/creux + calibration T par période d'ester ; **56 tests verts**. |
|
||||||
@ -675,8 +676,8 @@ structure ci-dessus. **Toute restructuration du JSON impose de mettre à jour
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/projects/HormoneTrack
|
cd ~/projects/HormoneTrack
|
||||||
./gradlew assembleDebug testDebugUnitTest # build + 36 tests
|
./gradlew assembleDebug testDebugUnitTest # build + 62 tests (44 sans données locales)
|
||||||
./gradlew lint # linters Android (à configurer)
|
./gradlew assembleRelease # APK optimisé R8 (cf §16.bis)
|
||||||
adb install -r app/build/outputs/apk/debug/app-debug.apk
|
adb install -r app/build/outputs/apk/debug/app-debug.apk
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -707,15 +708,18 @@ Le tout est automatisé par `scripts/gitea-release.py` — **multi-instances**
|
|||||||
(`cloudyfy` par défaut, `farewell`) :
|
(`cloudyfy` par défaut, `farewell`) :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Construire l'APK au niveau du tag
|
# 1. Construire les DEUX APK au niveau du tag (debug + release R8)
|
||||||
git checkout vX.Y.Z && ./gradlew assembleDebug
|
git checkout vX.Y.Z
|
||||||
cp app/build/outputs/apk/debug/app-debug.apk /tmp/apks/HormoneTrack-vX.Y.Z.apk
|
./gradlew assembleRelease assembleDebug # release = recommandé (R8, cf plus bas)
|
||||||
|
cp app/build/outputs/apk/release/app-release.apk /tmp/apks/HormoneTrack-vX.Y.Z-release.apk
|
||||||
|
cp app/build/outputs/apk/debug/app-debug.apk /tmp/apks/HormoneTrack-vX.Y.Z-debug.apk
|
||||||
git checkout main
|
git checkout main
|
||||||
|
|
||||||
# 2. Publier sur chaque instance (corps = CHANGELOG + APK attaché)
|
# 2. Publier sur chaque instance (corps = CHANGELOG + les 2 APK attachés)
|
||||||
python3 scripts/gitea-release.py cloudyfy vX.Y.Z /tmp/apks/HormoneTrack-vX.Y.Z.apk
|
for I in cloudyfy farewell; do
|
||||||
python3 scripts/gitea-release.py farewell vX.Y.Z /tmp/apks/HormoneTrack-vX.Y.Z.apk
|
python3 scripts/gitea-release.py $I vX.Y.Z /tmp/apks/HormoneTrack-vX.Y.Z-release.apk
|
||||||
# sans APK : python3 scripts/gitea-release.py farewell vX.Y.Z (corps seul)
|
python3 scripts/gitea-release.py $I vX.Y.Z /tmp/apks/HormoneTrack-vX.Y.Z-debug.apk
|
||||||
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
Le script choisit l'instance (URL, owner) et lit le token Gitea correspondant
|
Le script choisit l'instance (URL, owner) et lit le token Gitea correspondant
|
||||||
@ -802,6 +806,10 @@ Volontaires (v1) :
|
|||||||
prochain reschedule (boot/save) — mineur
|
prochain reschedule (boot/save) — mineur
|
||||||
- Labs : marqueur libre — E2/T exacts requis pour calibration/charts
|
- Labs : marqueur libre — E2/T exacts requis pour calibration/charts
|
||||||
- `allowBackup=false` → seul backup = export JSON manuel
|
- `allowBackup=false` → seul backup = export JSON manuel
|
||||||
|
- **APK release (R8)** : la réflexion Gson est couverte par des `-keep`
|
||||||
|
explicites, mais R8 ne se vérifie pas en tests JVM → **smoke-test sur
|
||||||
|
téléphone** (export/import backup, graphiques) avant chaque publication ;
|
||||||
|
signé clé debug → upgradable sans perte, mais pas une signature « officielle »
|
||||||
|
|
||||||
## 20. Idées d'évolution
|
## 20. Idées d'évolution
|
||||||
|
|
||||||
@ -812,7 +820,8 @@ Volontaires (v1) :
|
|||||||
5. Verrou biométrique (BiometricPrompt), widget, export CSV
|
5. Verrou biométrique (BiometricPrompt), widget, export CSV
|
||||||
6. Charts : **zoom** + tooltip au toucher (le pan est fait, v1.2.0) ;
|
6. Charts : **zoom** + tooltip au toucher (le pan est fait, v1.2.0) ;
|
||||||
MaterialExpressiveTheme quand l'API passera publique (cf §3)
|
MaterialExpressiveTheme quand l'API passera publique (cf §3)
|
||||||
7. Release workflow : version signée (release build) au lieu de debug APK
|
7. **Vrai keystore de distribution** (signature dédiée ≠ clé debug → nécessite
|
||||||
|
une migration : backup → désinstallation → installation signée → réimport)
|
||||||
|
|
||||||
Fait (à ne pas refaire) : pan du chart (v1.2.0), pics/creux (v1.2.3),
|
Fait (à ne pas refaire) : pan du chart (v1.2.0), pics/creux (v1.2.3),
|
||||||
prévision par fréquence (v1.2.0), calibration par période d'ester E2 **et** T
|
prévision par fréquence (v1.2.0), calibration par période d'ester E2 **et** T
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user