feat: update keyAlias for Android app distribution across environments

This commit is contained in:
Achintha Isuru
2025-11-18 18:21:20 -05:00
parent c6ccd1e2e3
commit 3e3d2b1efc
7 changed files with 139 additions and 62 deletions

View File

@@ -14,24 +14,28 @@ android-app-build-script: &android-app-build-script
ios-app-build-script: &ios-app-build-script
name: 🍎 Build iOS App
script: |
# Build Android
# Build iOS
flutter build ipa --flavor $FLAVOR
# Reusable script for distributing to Firebase
distribute-script: &distribute-script
name: 🚛 Distribute to Firebase App Distribution
# Reusable script for distributing Android to Firebase
distribute-android-script: &distribute-android-script
name: 🚛🤖 Distribute Android to Firebase App Distribution
script: |
# Distribute Android
firebase appdistribution:distribute "build/app/outputs/bundle/${FLAVOR}Release/app-${FLAVOR}-release.aab" \
--app $FIREBASE_APP_ID_ANDROID \
--release-notes "Build $FCI_BUILD_NUMBE R" \
--release-notes "Build $FCI_BUILD_NUMBER" \
--groups "$FIREBASE_TESTER_GROUPS" \
--token $FIREBASE_TOKEN
# Reusable script for distributing iOS to Firebase
distribute-ios-script: &distribute-ios-script
name: 🚛🍎 Distribute iOS to Firebase App Distribution
script: |
# Distribute iOS
firebase appdistribution:distribute "build/ios/ipa/app.ipa" \
--app $FIREBASE_APP_ID_IOS \
--release-notes "Build $FCI_BUILD_NUMBE R" \
--release-notes "Build $FCI_BUILD_NUMBER" \
--groups "$FIREBASE_TESTER_GROUPS" \
--token $FIREBASE_TOKEN
@@ -73,73 +77,146 @@ workflows:
- $FCI_BUILD_DIR/mobile-apps/staff-app/.dart_tool
# =================================================================================
# Client App Workflows
# Client App Workflows - Android
# =================================================================================
client-app-dev:
client-app-dev-android:
<<: *client-app-base
name: Client App Dev
name: 🚛🤖 Client App Dev (Android App Distribution)
environment:
groups:
- client_app_dev_credentials # Codemagic Environment Variable Group
scripts:
- *flutter-build-script
- *distribute-script
client-app-staging:
<<: *client-app-base
name: Client App Staging
environment:
groups:
- client_app_staging_credentials # Codemagic Environment Variable Group
scripts:
- *flutter-build-script
- *distribute-script
client-app-prod:
<<: *client-app-base
name: Client App Prod
environment:
groups:
- client_app_prod_credentials # Codemagic Environment Variable Group
scripts:
- *flutter-build-script
- *distribute-script
# =================================================================================
# Staff App Workflows
# =================================================================================
staff-app-dev-app-distribute:
<<: *staff-app-base
name: 🚛👨‍🍳 Staff App Dev (App Distribute)
environment:
groups:
- staff_app_dev_credentials # Codemagic Environment Variable Group
- client_app_dev_credentials
scripts:
- *flutter-build-script
- *android-app-build-script
- *ios-app-build-script
- *distribute-script
- *distribute-android-script
staff-app-staging-app-distribute:
<<: *staff-app-base
name: 🚛👨‍🍳 Staff App Staging (App Distribute)
client-app-staging-android:
<<: *client-app-base
name: 🚛🤖 Client App Staging (Android App Distribution)
environment:
groups:
- staff_app_staging_credentials # Codemagic Environment Variable Group
- client_app_staging_credentials
scripts:
- *flutter-build-script
- *android-app-build-script
- *ios-app-build-script
- *distribute-script
- *distribute-android-script
staff-app-prod-app-distribute:
<<: *staff-app-base
name: 🚛👨‍🍳 Staff App Prod (App Distribute)
client-app-prod-android:
<<: *client-app-base
name: 🚛🤖 Client App Prod (Android App Distribution)
environment:
groups:
- staff_app_prod_credentials # Codemagic Environment Variable Group
- client_app_prod_credentials
scripts:
- *flutter-build-script
- *android-app-build-script
- *distribute-android-script
# =================================================================================
# Client App Workflows - iOS
# =================================================================================
client-app-dev-ios:
<<: *client-app-base
name: 🚛🍎 Client App Dev (iOS App Distribution)
environment:
groups:
- client_app_dev_credentials
scripts:
- *flutter-build-script
- *ios-app-build-script
- *distribute-script
- *distribute-ios-script
client-app-staging-ios:
<<: *client-app-base
name: 🚛🍎 Client App Staging (iOS App Distribution)
environment:
groups:
- client_app_staging_credentials
scripts:
- *flutter-build-script
- *ios-app-build-script
- *distribute-ios-script
client-app-prod-ios:
<<: *client-app-base
name: 🚛🍎 Client App Prod (iOS App Distribution)
environment:
groups:
- client_app_prod_credentials
scripts:
- *flutter-build-script
- *ios-app-build-script
- *distribute-ios-script
# =================================================================================
# Staff App Workflows - Android
# =================================================================================
staff-app-dev-android:
<<: *staff-app-base
name: 🤖👨‍🍳 Staff App Dev (Android)
environment:
groups:
- staff_app_dev_credentials
scripts:
- *flutter-build-script
- *android-app-build-script
- *distribute-android-script
staff-app-staging-android:
<<: *staff-app-base
name: 🤖👨‍🍳 Staff App Staging (Android)
environment:
groups:
- staff_app_staging_credentials
scripts:
- *flutter-build-script
- *android-app-build-script
- *distribute-android-script
staff-app-prod-android:
<<: *staff-app-base
name: 🤖👨‍🍳 Staff App Prod (Android)
environment:
groups:
- staff_app_prod_credentials
scripts:
- *flutter-build-script
- *android-app-build-script
- *distribute-android-script
# =================================================================================
# Staff App Workflows - iOS
# =================================================================================
staff-app-dev-ios:
<<: *staff-app-base
name: 🍎👨‍🍳 Staff App Dev (iOS)
environment:
groups:
- staff_app_dev_credentials
scripts:
- *flutter-build-script
- *ios-app-build-script
- *distribute-ios-script
staff-app-staging-ios:
<<: *staff-app-base
name: 🍎👨‍🍳 Staff App Staging (iOS)
environment:
groups:
- staff_app_staging_credentials
scripts:
- *flutter-build-script
- *ios-app-build-script
- *distribute-ios-script
staff-app-prod-ios:
<<: *staff-app-base
name: 🍎👨‍🍳 Staff App Prod (iOS)
environment:
groups:
- staff_app_prod_credentials
scripts:
- *flutter-build-script
- *ios-app-build-script
- *distribute-ios-script