diff --git a/.gitea/workflows/deploy-android.yaml b/.gitea/workflows/deploy-android.yaml index b24bc93..7ad3153 100644 --- a/.gitea/workflows/deploy-android.yaml +++ b/.gitea/workflows/deploy-android.yaml @@ -1,55 +1,40 @@ -name: Deploy Flutter to Firebase +name: Deploy Flutter to Firebase (Mac) on: push: - branches: release # Vous avez changé la branche ici, c'est noté + branches: release jobs: deploy-android: - runs-on: ubuntu-latest + # C'est ici que la magie opère : on cible VOTRE Mac + runs-on: macos-latest + steps: - name: Checkout code uses: actions/checkout@v3 - - name: Setup Java - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '17' + # Pas besoin d'installer Java, Flutter ou Android SDK : ils sont déjà sur votre Mac ! - - name: Setup Android SDK - uses: android-actions/setup-android@v3 + - name: Vérifier l'installation + run: flutter doctor -v - - name: Setup Flutter - uses: subosito/flutter-action@v2 - with: - channel: 'stable' - cache: false - - - name: Accept Android Licenses - run: yes | flutter doctor --android-licenses || true - - - name: Setup Ruby (pour Fastlane) - uses: ruby/setup-ruby@v1 - with: - ruby-version: '3.3' - bundler-cache: true + - name: Installer les dépendances + run: flutter pub get - name: Créer le fichier .env run: echo "${{ secrets.ENV_FILE }}" > .env - - name: Créer le fichier Auth Google + - name: Créer les identifiants Firebase run: echo "${{ secrets.FIREBASE_CREDENTIALS }}" > ./android/firebase_credentials.json - name: Créer key.properties run: echo "${{ secrets.ANDROID_KEY_PROPERTIES }}" > ./android/key.properties - - name: Lancer Fastlane Android + - name: Lancer Fastlane working-directory: ./android env: ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} FIREBASE_ANDROID_APP_ID: ${{ secrets.FIREBASE_ANDROID_APP_ID }} - # --- C'EST ICI LA CORRECTION CRITIQUE POUR LA MÉMOIRE --- - GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.jvmargs=-Xmx3072m" + # Plus besoin de limiter la RAM, votre Mac est puissant ! run: | bundle install bundle exec fastlane deploy_firebase \ No newline at end of file diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index 60e4759..1ae7963 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -1,35 +1,29 @@ default_platform(:android) platform :android do - desc "Déploiement AAB vers Firebase" + desc "Deploy to Firebase from Mac" lane :deploy_firebase do - # --- DÉBUT DU BLOC CRITIQUE --- - # C'est ici qu'on crée le fichier keystore physiquement sur le serveur - # avant que Gradle ne le cherche. + # 1. Création du Keystore depuis le secret Gitea if ENV['ANDROID_KEYSTORE_BASE64'] - # On décode le secret Gitea et on l'écrit dans un fichier .jks File.open("upload-keystore.jks", "wb") do |f| f.write(Base64.decode64(ENV['ANDROID_KEYSTORE_BASE64'])) end - UI.message("✅ Fichier upload-keystore.jks créé avec succès !") else - UI.user_error!("❌ ERREUR : Le secret ANDROID_KEYSTORE_BASE64 est vide !") + UI.error("Secret Keystore manquant !") end - # --- FIN DU BLOC CRITIQUE --- - # 2. Construire l'App Bundle (.aab) - # Gradle va maintenant trouver le fichier créé juste au-dessus + # 2. Build de l'App Bundle (AAB) + # Votre Mac va compiler ça très vite 🚀 sh("flutter build appbundle --release") - # 3. Envoyer vers Firebase + # 3. Envoi vers Firebase App Distribution firebase_app_distribution( app: ENV["FIREBASE_ANDROID_APP_ID"], service_credentials_file: "firebase_credentials.json", groups: "testers", - # On pointe bien vers le fichier .aab généré android_artifact_path: "../build/app/outputs/bundle/release/app-release.aab", - release_notes: "Version AAB via Gitea. Commit: #{ENV['GITHUB_SHA']}" + release_notes: "Build depuis Mac M1/M2. Commit: #{ENV['GITHUB_SHA']}" ) end end \ No newline at end of file