diff --git a/.gitea/workflows/deploy-android.yaml b/.gitea/workflows/deploy-android.yaml index 13355d5..dd30d54 100644 --- a/.gitea/workflows/deploy-android.yaml +++ b/.gitea/workflows/deploy-android.yaml @@ -23,29 +23,31 @@ jobs: echo "${{ secrets.FIREBASE_CREDENTIALS }}" > ./android/firebase_credentials.json echo "${{ secrets.ANDROID_KEY_PROPERTIES }}" > ./android/key.properties - - name: Lancer Fastlane (Mode Nettoyage Forcé) + - name: Lancer Fastlane (Mode Local Strict) 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 + # --- 🛡️ PROTECTION ANTI-SYSTÈME 🛡️ --- + # On définit un dossier local pour TOUS les gems (Bundler inclus) + # Cela empêche physiquement le script d'aller voir dans /Library/Ruby/Gems/2.6.0 + export GEM_HOME=$PWD/vendor/bundle + export GEM_PATH=$PWD/vendor/bundle + export PATH=$GEM_HOME/bin:$PATH + + echo "📂 Dossier des Gems forcé à : $GEM_HOME" + + # Nettoyage de sécurité 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 ---" + echo "⬇️ Installation de Bundler (en local)..." + # Cette commande va maintenant écrire dans ./android/vendor/bundle et non dans le système gem install bundler + + echo "📦 Installation des dépendances..." bundle install --jobs 4 --retry 3 - - echo "--- 🚀 LANCEMENT ---" - # On lance via bundle exec qui regardera forcément dans le bon dossier + + echo "🚀 Lancement..." bundle exec fastlane deploy_firebase \ No newline at end of file