name: Deploy Flutter to Firebase (Mac) on: push: branches: release jobs: deploy-android: runs-on: macos-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Vérifier l'installation Flutter run: flutter doctor -v - name: Installer les dépendances Flutter run: flutter pub get - name: Créer les fichiers secrets run: | echo "${{ secrets.ENV_FILE }}" > .env echo "${{ secrets.FIREBASE_CREDENTIALS }}" > ./android/firebase_credentials.json echo "${{ secrets.ANDROID_KEY_PROPERTIES }}" > ./android/key.properties - name: Lancer Fastlane (Mode Nettoyage Forcé) working-directory: ./android env: ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} FIREBASE_ANDROID_APP_ID: ${{ secrets.FIREBASE_ANDROID_APP_ID }} run: | echo "--- 🧹 NETTOYAGE PRÉVENTIF ---" # On supprime tout ce qui peut causer un conflit rm -rf .bundle rm -rf vendor rm -f Gemfile.lock echo "--- ⚙️ CONFIGURATION BUNDLER ---" # On configure Bundler pour tout installer dans un dossier local 'my_gems' # On évite le nom 'vendor/bundle' standard pour contourner les caches éventuels d'act export BUNDLE_PATH=./my_gems export BUNDLE_BIN=./my_gems/bin export PATH=$BUNDLE_BIN:$PATH echo "--- 📥 INSTALLATION ---" gem install bundler bundle install --jobs 4 --retry 3 echo "--- 🚀 LANCEMENT ---" # On lance via bundle exec qui regardera forcément dans le bon dossier bundle exec fastlane deploy_firebase