test 48
All checks were successful
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m43s
All checks were successful
Deploy Flutter to Firebase (Mac) / deploy-android (push) Successful in 2m43s
This commit is contained in:
@@ -17,24 +17,12 @@ jobs:
|
|||||||
- name: Installer les dépendances Flutter
|
- name: Installer les dépendances Flutter
|
||||||
run: flutter pub get
|
run: flutter pub get
|
||||||
|
|
||||||
- name: Créer les fichiers secrets (Avec Debug JSON)
|
- name: Créer les fichiers secrets
|
||||||
run: |
|
run: |
|
||||||
echo "${{ secrets.ENV_FILE }}" > .env
|
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
|
printf '%s' '${{ secrets.FIREBASE_CREDENTIALS }}' > ./android/firebase_credentials.json
|
||||||
|
|
||||||
echo "---------------------------------------------------"
|
- name: Lancer Fastlane (Force APK)
|
||||||
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)
|
|
||||||
working-directory: ./android
|
working-directory: ./android
|
||||||
env:
|
env:
|
||||||
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
|
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
|
||||||
@@ -47,8 +35,7 @@ jobs:
|
|||||||
export GEM_PATH=$PWD/vendor/bundle
|
export GEM_PATH=$PWD/vendor/bundle
|
||||||
export PATH=$GEM_HOME/bin:$PATH
|
export PATH=$GEM_HOME/bin:$PATH
|
||||||
|
|
||||||
# 2. Génération Keystore & Properties
|
# 2. Keystore & Properties
|
||||||
echo "🔓 Décodage du Keystore..."
|
|
||||||
echo "$ANDROID_KEYSTORE_BASE64" | base64 -D > keystore.jks
|
echo "$ANDROID_KEYSTORE_BASE64" | base64 -D > keystore.jks
|
||||||
KEYSTORE_PATH=$(pwd)/keystore.jks
|
KEYSTORE_PATH=$(pwd)/keystore.jks
|
||||||
|
|
||||||
@@ -62,13 +49,11 @@ jobs:
|
|||||||
echo "keyAlias=$KEY_ALIAS" >> key.properties
|
echo "keyAlias=$KEY_ALIAS" >> key.properties
|
||||||
echo "storeFile=$KEYSTORE_PATH" >> key.properties
|
echo "storeFile=$KEYSTORE_PATH" >> key.properties
|
||||||
|
|
||||||
# 3. Préparation Gemfile
|
# 3. Installation Dépendances
|
||||||
rm -rf vendor Gemfile.lock .bundle
|
rm -rf vendor Gemfile.lock .bundle
|
||||||
|
|
||||||
echo "source 'https://rubygems.org'" > Gemfile
|
echo "source 'https://rubygems.org'" > Gemfile
|
||||||
echo "gem 'fastlane', '>= 2.210.0'" >> Gemfile
|
echo "gem 'fastlane', '>= 2.210.0'" >> Gemfile
|
||||||
echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile
|
echo "gem 'fastlane-plugin-firebase_app_distribution'" >> Gemfile
|
||||||
|
|
||||||
# Patchs Ruby 3.4
|
# Patchs Ruby 3.4
|
||||||
echo "gem 'abbrev'" >> Gemfile
|
echo "gem 'abbrev'" >> Gemfile
|
||||||
echo "gem 'ostruct'" >> Gemfile
|
echo "gem 'ostruct'" >> Gemfile
|
||||||
@@ -79,10 +64,25 @@ jobs:
|
|||||||
echo "gem 'drb'" >> Gemfile
|
echo "gem 'drb'" >> Gemfile
|
||||||
echo "gem 'nkf'" >> Gemfile
|
echo "gem 'nkf'" >> Gemfile
|
||||||
|
|
||||||
# 4. Installation & Lancement
|
|
||||||
echo "⬇️ Installation..."
|
echo "⬇️ Installation..."
|
||||||
gem install bundler -v 2.7.2 --force --no-document
|
gem install bundler -v 2.7.2 --force --no-document
|
||||||
bundle _2.7.2_ update --jobs 4
|
bundle _2.7.2_ update --jobs 4
|
||||||
|
|
||||||
echo "🚀 Déploiement vers Firebase..."
|
# 4. CONSTRUCTION ET ENVOI MANUEL EN APK 🗝️
|
||||||
bundle _2.7.2_ exec fastlane deploy_firebase
|
# 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"
|
||||||
Reference in New Issue
Block a user