diff --git a/.gitea/workflows/deploy-ios.yaml b/.gitea/workflows/deploy-ios.yaml index 20de122..e34de5e 100644 --- a/.gitea/workflows/deploy-ios.yaml +++ b/.gitea/workflows/deploy-ios.yaml @@ -69,39 +69,32 @@ jobs: env: FIREBASE_IOS_APP_ID: ${{ secrets.FIREBASE_IOS_APP_ID }} run: | - # 1. Configuration du PATH pour Ruby Homebrew (Mac Perso) export PATH="/opt/homebrew/opt/ruby/bin:/opt/homebrew/bin:$PATH" - - # 2. Installation de la version de Bundler compatible Fastlane gem install bundler -v 2.7.2 --no-document cd ios bundle _2.7.2_ config set path 'vendor/bundle' - # 3. Reconstruction du Gemfile spécial Ruby 3.4 + Xcode 26.2 - rm -f Gemfile Gemfile.lock - echo "source 'https://rubygems.org'" > Gemfile - echo "gem 'fastlane', '>= 2.214.0'" >> Gemfile - echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile - - # correctifs pour les bibliothèques retirées dans Ruby 3.4 - echo "gem 'ostruct'" >> Gemfile # Supprime la ligne rouge NameError - echo "gem 'nkf'" >> Gemfile # Remplace et active kconv pour CFPropertyList - echo "gem 'base64'" >> Gemfile - echo "gem 'abbrev'" >> Gemfile - echo "gem 'csv'" >> Gemfile - echo "gem 'mutex_m'" >> Gemfile - - # 4. Installation des dépendances + # Le Gemfile est déjà prêt grâce au build précédent, on installe juste bundle _2.7.2_ install - # 5. Envoi final (Xcode 26.2 gère mieux les envois volumineux) - echo "🚀 Envoi de l'IPA vers Firebase..." + # RECHERCHE DYNAMIQUE DE L'IPA (Pour éviter l'erreur de chemin) + # On cherche le fichier .ipa dans le dossier build et on stocke son chemin + IPA_PATH=$(find ../build/ios/ipa -name "*.ipa" | head -n 1) + echo "📦 IPA trouvée ici : $IPA_PATH" + + if [ -z "$IPA_PATH" ]; then + echo "❌ ERREUR : Fichier IPA introuvable dans ../build/ios/ipa" + ls -R ../build/ios/ipa + exit 1 + fi + + echo "🚀 Envoi final vers Firebase..." bundle _2.7.2_ exec fastlane run firebase_app_distribution \ app:"$FIREBASE_IOS_APP_ID" \ - ipa_path:"../build/ios/ipa/*.ipa" \ + ipa_path:"$IPA_PATH" \ service_credentials_file:"firebase_credentials.json" \ - release_notes: "TravelMate iOS stable - Xcode 26.2" + release_notes:"TravelMate iOS - Xcode 26.2 Stable Build" - name: Nettoyage (Post-build) if: always()