diff --git a/.gitea/workflows/deploy-ios.yaml b/.gitea/workflows/deploy-ios.yaml index 1946921..319882c 100644 --- a/.gitea/workflows/deploy-ios.yaml +++ b/.gitea/workflows/deploy-ios.yaml @@ -65,36 +65,54 @@ jobs: # L'asset .env est maintenant correctement détecté à la racine flutter build ipa --release --export-method ad-hoc - - name: Envoi vers Firebase App Distribution + - name: Envoi vers Firebase App Distribution env: FIREBASE_IOS_APP_ID: ${{ secrets.FIREBASE_IOS_APP_ID }} run: | + # 1. Configuration du chemin Ruby Homebrew export PATH="/opt/homebrew/opt/ruby/bin:/opt/homebrew/bin:$PATH" gem install bundler -v 2.7.2 --no-document + # 2. Entrer dans le dossier ios avant toute opération cd ios + + # 3. Création du Gemfile "blindé" pour Ruby 3.4 + # On écrase tout ancien fichier pour être sûr de repartir sur du propre + echo "source 'https://rubygems.org'" > Gemfile + echo "gem 'fastlane', '>= 2.214.0'" >> Gemfile + echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile + + # Correctifs pour les gems retirées du cœur de Ruby 3.4 + echo "gem 'ostruct'" >> Gemfile + echo "gem 'nkf'" >> Gemfile + echo "gem 'abbrev'" >> Gemfile + echo "gem 'base64'" >> Gemfile + echo "gem 'csv'" >> Gemfile + echo "gem 'mutex_m'" >> Gemfile + echo "gem 'bigdecimal'" >> Gemfile + + # 4. Installation des dépendances dans le dossier local bundle _2.7.2_ config set path 'vendor/bundle' bundle _2.7.2_ install - # RECHERCHE ULTRA-LARGE (On cherche depuis la racine du projet) - echo "🔍 Recherche de l'IPA dans tout le projet..." + # 5. Recherche dynamique de l'IPA + # On cherche depuis la racine du projet (un dossier au-dessus) + echo "🔍 Localisation de l'IPA..." IPA_PATH=$(find .. -name "*.ipa" -not -path "*/Pods/*" | head -n 1) if [ -z "$IPA_PATH" ]; then - echo "❌ ERREUR : Aucun fichier .ipa trouvé." - echo "📁 Contenu du dossier build actuel :" - ls -R ../build || echo "Le dossier build est vide ou inexistant" + echo "❌ ERREUR : Aucun fichier .ipa trouvé. Vérifie l'étape de build." exit 1 fi + echo "📦 IPA détectée : $IPA_PATH" - echo "📦 IPA trouvée : $IPA_PATH" - - echo "🚀 Envoi final vers Firebase..." + # 6. Envoi final vers Firebase + echo "🚀 Téléchargement vers Firebase App Distribution..." bundle _2.7.2_ exec fastlane run firebase_app_distribution \ app:"$FIREBASE_IOS_APP_ID" \ ipa_path:"$IPA_PATH" \ service_credentials_file:"firebase_credentials.json" \ - release_notes: "TravelMate iOS stable - Xcode 26.2" + release_notes: "Build stable TravelMate - Xcode 26.2" - name: Nettoyage (Post-build) if: always()