Skip to content

Continuous Delivery

Continuous Delivery #5

Workflow file for this run

name: continuous-delivery
on:
workflow_dispatch
env:
FLUTTER_VERSION: 3.22.2
jobs:
continuous-delivery-ios:
runs-on: macos-latest
defaults:
run:
working-directory: example/ios
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
cache: true
channel: stable
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: 🗒️🔏 Ajouter le certificat de signature
run: |
# Générer un mot de passe aléatoire pour le trousseau de clés temporaire
password=$(cat /dev/urandom | LC_ALL=C tr -dc 'a-zA-Z0-9' | fold -w 50 | head -n 1)
security create-keychain -p "$password" temp.keychain
security set-keychain-settings -lut 21600 temp.keychain
security unlock-keychain -p "$password" temp.keychain
# Décoder le fichier P12 encodé en base64 et l'importer dans le trousseau de clés temporaire
echo "${{ secrets.DEV_IOS_P12_FILE }}" | base64 --decode -o certificat.p12
security import certificat.p12 -P "${{ secrets.DEV_IOS_P12_PASSWORD }}" -A -t cert -f pkcs12 -k temp.keychain
security list-keychain -d user -s temp.keychain
- name: 🧱 Construire l'application
run: |
flutter config --no-cli-animations
flutter build ipa