feat: Migrate Android deployment from Jenkins and Fastlane to Gitea Actions workflow.
Some checks failed
Deploy Android to Play Store / build-and-deploy (push) Failing after 4m10s

This commit is contained in:
Van Leemput Dayron
2025-12-08 18:04:42 +01:00
parent 9734532491
commit 73db84896a
4 changed files with 61 additions and 86 deletions

View File

@@ -0,0 +1,61 @@
name: Deploy Android to Play Store
run-name: Deploy ${{ gitea.actor }} to Internal Track 🚀
on:
push:
branches:
- release # Se déclenche uniquement sur la branche release
jobs:
build-and-deploy:
runs-on: ubuntu-latest # Le runner Gitea standard
steps:
# 1. Récupérer le code
- name: Checkout code
uses: actions/checkout@v3
# 2. Installer Java
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '17'
# 3. Installer Flutter
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: '3.19.0' # Mettez votre version préférée ou laissez vide pour 'any'
# 4. Récupérer les dépendances
- name: Flutter Pub Get
run: flutter pub get
# 5. Reconstruire le Keystore depuis le Secret Base64
- name: Decode Keystore
run: |
echo "${{ secrets.ANDROID_KEYSTORE_BASE64 }}" | base64 --decode > android/app/upload-keystore.jks
# 6. Créer le fichier key.properties
- name: Create key.properties
run: |
echo "storePassword=${{ secrets.KEYSTORE_PASSWORD }}" > android/key.properties
echo "keyPassword=${{ secrets.KEY_PASSWORD }}" >> android/key.properties
echo "keyAlias=${{ secrets.KEY_ALIAS }}" >> android/key.properties
echo "storeFile=upload-keystore.jks" >> android/key.properties
# 7. Compiler l'AppBundle (.aab)
- name: Build AppBundle
run: flutter build appbundle --release
# 8. Envoyer sur le Play Store
# Cette action remplace Fastlane manuel, c'est plus simple dans Gitea
- name: Upload to Play Store
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{ secrets.PLAY_STORE_JSON }}
packageName: be.devdayronvl.travel_mate
releaseFiles: build/app/outputs/bundle/release/app-release.aab
track: internal # 'internal' = Test interne, 'alpha' = Test fermé
status: completed