Some checks failed
field-tech-android / build-apk (push) Failing after 8m56s
App technicien : appairage 1x (QR), géorepérage natif en arrière-plan (app fermée) -> checkpoints au hub /field/ts, scan série/MAC on-device MLKit. UI réutilisée depuis le hub (/field). APK Android buildé (debug, 19 Mo, arm64-v8a + armeabi-v7a). - apps/field-tech : Capacitor 6 + Vite ; src/main.js (appairage @capacitor/preferences + BackgroundGeolocation.addGeofences + redirection /field) ; projet android/ avec les 4 correctifs Gradle commités (force work-runtime 2.9.1, minSdk 24, repos maven xms.g + Huawei, googlePlayServicesLocationVersion 21.0.1) ; abiFilters arm (APK 32->19 Mo). - README : recette de build complète (toolchain M4, les 4 fixes, install/appairage) ; BUILD-ANDROID.md (Docker + Android Studio + release signée) ; CI-SETUP.md (runner Gitea). - CI Gitea Actions (.gitea/workflows) : android (runner Linux HORS prod, cache Gradle/npm -> artefact APK) + ios (runner macOS, workflow_dispatch, en attente compte Apple). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.3 KiB
2.3 KiB
CI build app technicien (Gitea Actions, git.targo.ca)
Usine de build : push → APK Android téléchargeable en artefact. iOS prévu (runner macOS + compte Apple). Workflows : .gitea/workflows/field-tech-android.yml + field-tech-ios.yml.
1. Activer Actions
- Admin Gitea :
Site Administration → Actionsactivé. - Dépôt
louis/gigafibre-fsm:Settings → Actions → Enable.
2. Runner Linux (Android) — sur un hôte HORS prod
Le runner exécute les builds → ne pas le mettre sur erp (sinon on retombe sur l'impact prod qu'on évite avec la CI). Un laptop avec Docker, un mini-VM, ou tout hôte Docker convient. Pour des builds occasionnels, un laptop allumé à la demande suffit.
- Gitea :
Settings → Actions → Runners → Create new Runner→ copier le registration token. - Sur l'hôte du runner :
docker run -d --restart=always --name targo-ci-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
-e GITEA_INSTANCE_URL=https://git.targo.ca \
-e GITEA_RUNNER_REGISTRATION_TOKEN=<TOKEN> \
-e GITEA_RUNNER_LABELS="ubuntu-latest:docker://catthehacker/ubuntu:act-22.04" \
gitea/act_runner:latest
- Le runner apparaît dans Gitea → push sur
apps/field-tech/**(ou « Run workflow ») → l'APK debug sort dans Artifacts de l'exécution.
3. iOS (plus tard — compte Apple en attente)
- iOS ne build que sur macOS : enregistrer un Mac comme runner (act_runner natif, label
macos, Xcode installé). Pas d'image Docker possible. - Quand le compte Apple Developer est prêt : ajouter en secrets dépôt (
Settings → Actions → Secrets) le certificat de distribution + provisioning profile (base64) + mot de passe ; le workflow iOS feraxcodebuild -archive/-exportArchivesigné → TestFlight.
4. Secrets (selon besoin)
| Secret | Pour |
|---|---|
TRANSISTORSOFT_LICENSE |
build release (debug = mode dev, sans licence) → injecté en meta-data AndroidManifest |
ANDROID_KEYSTORE (+ pass) |
signer l'APK release |
APPLE_CERT / APPLE_PROFILE (+ pass) |
signature iOS (device/TestFlight) |
Alternative immédiate (sans runner) — build local Docker
La même image existe en apps/field-tech/Dockerfile : docker build -t targo-android-build . && docker run --rm -v "$PWD":/app -v targo-gradle:/root/.gradle targo-android-build → APK. Voir BUILD-ANDROID.md.