diff --git a/.gitea/workflows/deploy-ios.yaml b/.gitea/workflows/deploy-ios.yaml index e2453ab..20de122 100644 --- a/.gitea/workflows/deploy-ios.yaml +++ b/.gitea/workflows/deploy-ios.yaml @@ -69,37 +69,39 @@ 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" - # On s'assure d'avoir la version de Bundler compatible Fastlane + + # 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' - # Reconstruction d'un Gemfile "blindé" pour Ruby 3.4 + # 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 - # BIBLIOTHÈQUES OBLIGATOIRES POUR ÉVITER LE NAMEERROR - echo "gem 'abbrev'" >> 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 'bigdecimal'" >> Gemfile + echo "gem 'abbrev'" >> Gemfile + echo "gem 'csv'" >> Gemfile echo "gem 'mutex_m'" >> Gemfile - echo "gem 'kconv'" >> Gemfile - echo "gem 'ostruct'" >> Gemfile # <-- Très important pour FastlaneCore - echo "gem 'csv'" >> Gemfile # <-- Requis pour les rapports de build + # 4. Installation des dépendances bundle _2.7.2_ install - echo "🚀 Lancement de Fastlane..." - # L'utilisation de bundle exec garantit que Fastlane trouve ses Gems + # 5. Envoi final (Xcode 26.2 gère mieux les envois volumineux) + echo "🚀 Envoi de l'IPA vers Firebase..." bundle _2.7.2_ exec fastlane run firebase_app_distribution \ app:"$FIREBASE_IOS_APP_ID" \ ipa_path:"../build/ios/ipa/*.ipa" \ service_credentials_file:"firebase_credentials.json" \ - release_notes:"TravelMate iOS - Version stable" + release_notes: "TravelMate iOS stable - Xcode 26.2" - name: Nettoyage (Post-build) if: always()