test 48
All checks were successful
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m43s

This commit is contained in:
Van Leemput Dayron
2025-12-15 14:37:19 +01:00
parent 230b7abf8b
commit 8ec8f35a31

View File

@@ -17,24 +17,12 @@ jobs:
- name: Installer les dépendances Flutter
run: flutter pub get
- name: Créer les fichiers secrets (Avec Debug JSON)
- name: Créer les fichiers secrets
run: |
echo "${{ secrets.ENV_FILE }}" > .env
# --- 📝 ÉCRITURE SÉCURISÉE DU JSON ---
# On utilise printf pour éviter que le shell ne mange les guillemets
printf '%s' '${{ secrets.FIREBASE_CREDENTIALS }}' > ./android/firebase_credentials.json
echo "---------------------------------------------------"
echo "⚠️ DEBUG : Vérification du début du JSON Firebase"
echo "(Ne doit PAS être vide et doit commencer par { \"type\": ... )"
echo "---------------------------------------------------"
# On affiche juste les 50 premiers caractères pour ne pas fuiter tout le secret
head -c 50 ./android/firebase_credentials.json
echo ""
echo "---------------------------------------------------"
- name: Lancer Fastlane (Final)
- name: Lancer Fastlane (Force APK)
working-directory: ./android
env:
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
@@ -47,8 +35,7 @@ jobs:
export GEM_PATH=$PWD/vendor/bundle
export PATH=$GEM_HOME/bin:$PATH
# 2. Génération Keystore & Properties
echo "🔓 Décodage du Keystore..."
# 2. Keystore & Properties
echo "$ANDROID_KEYSTORE_BASE64" | base64 -D > keystore.jks
KEYSTORE_PATH=$(pwd)/keystore.jks
@@ -62,13 +49,11 @@ jobs:
echo "keyAlias=$KEY_ALIAS" >> key.properties
echo "storeFile=$KEYSTORE_PATH" >> key.properties
# 3. Préparation Gemfile
# 3. Installation Dépendances
rm -rf vendor Gemfile.lock .bundle
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'fastlane', '>= 2.210.0'" >> Gemfile
echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile
# Patchs Ruby 3.4
echo "gem 'abbrev'" >> Gemfile
echo "gem 'ostruct'" >> Gemfile
@@ -79,10 +64,25 @@ jobs:
echo "gem 'drb'" >> Gemfile
echo "gem 'nkf'" >> Gemfile
# 4. Installation & Lancement
echo "⬇️ Installation..."
gem install bundler -v 2.7.2 --force --no-document
bundle _2.7.2_ update --jobs 4
echo "🚀 Déploiement vers Firebase..."
bundle _2.7.2_ exec fastlane deploy_firebase
# 4. CONSTRUCTION ET ENVOI MANUEL EN APK 🗝️
# On remonte à la racine pour lancer Flutter
cd ..
echo "🚧 Construction de l'APK (Format compatible sans Play Store)..."
# C'est cette commande qui change tout : APK au lieu de AppBundle
flutter build apk --release
# On redescend dans le dossier android pour lancer fastlane
cd android
echo "🚀 Envoi de l'APK vers Firebase..."
# On pointe vers le fichier APK généré
bundle _2.7.2_ exec fastlane run firebase_app_distribution \
app:"$FIREBASE_ANDROID_APP_ID" \
android_artifact_path:"../build/app/outputs/flutter-apk/app-release.apk" \
service_credentials_file:"firebase_credentials.json" \
release_notes:"Build APK via Act - Test"