diff --git a/.gitea/workflows/deploy-android.yaml b/.gitea/workflows/deploy-android.yaml index e5d0d17..13355d5 100644 --- a/.gitea/workflows/deploy-android.yaml +++ b/.gitea/workflows/deploy-android.yaml @@ -17,27 +17,35 @@ jobs: - name: Installer les dépendances Flutter run: flutter pub get - - name: Créer le fichier .env - run: echo "${{ secrets.ENV_FILE }}" > .env + - 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: 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 + - 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: | - # 1. On configure Bundler pour installer les librairies DANS le dossier du projet - # Cela évite les erreurs de permission système et les conflits de version Ruby - bundle config set --local path 'vendor/bundle' + echo "--- 🧹 NETTOYAGE PRÉVENTIF ---" + # On supprime tout ce qui peut causer un conflit + rm -rf .bundle + rm -rf vendor + rm -f Gemfile.lock - # 2. On installe les gems - bundle install - - # 3. CRUCIAL : On lance fastlane via 'bundle exec' pour qu'il trouve les gems installées juste au-dessus + 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 \ No newline at end of file