feat(ci): build, teste et empaquette un APK Android signé sur chaque push main #67
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/mobile-ci-android-apk"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #64
Nouveau job
build-androiddansci.yml, gardé parneeds:sur les 5 jobs existants (lint/test/intent-service-test/build/e2e) et limité àmainviaif: github.ref == 'refs/heads/main'— c'est ce qui garantit que l'APK n'est empaqueté qu'une fois la suite de tests existante verte, pas juste construit en parallèle d'elle (Forgejo/GitHub Actions n'a pas de mécanisme natif pour qu'un job d'un autre fichier de workflow attende un run ici, d'où le choix de rester dansci.yml).APK signé avec un vrai keystore de release — jamais généré par la CI (Android refuse une mise à jour signée par une clé différente de celle déjà installée) : ajoute
signingConfigs.releaseàbuild.gradle, lu depuis l'environnement (ANDROID_KEYSTORE_PATH/_PASSWORD,ANDROID_KEY_ALIAS/_PASSWORD), jamais codé en dur.*.jks/*.keystoresont désormais réellement ignorés par git (les lignes existaient mais étaient commentées dans le.gitignoregénéré par Capacitor).README : documente les 5 secrets Forgejo requis (
MOBILE_API_URL+ les 4 secrets du keystore) et la commande pour générer le keystore une seule fois.Aucune suite de tests instrumentés Android n'existe (zéro code natif au-delà de la coquille Capacitor) — "testée" est satisfait par le gate sur la suite existante, pas par une suite native à inventer pour cette itération.
Risque documenté, pas résolu par avance : aucun build Android n'a jamais tourné sur ce runner Forgejo auto-hébergé, contrairement aux 4 autres jobs déjà éprouvés. Si le premier run échoue sur l'installation du SDK/Gradle plutôt que sur le code, ce sera à ajuster (cache
~/.android/sdk/~/.gradleprobable).🤖 Generated with Claude Code