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

View File

@@ -1,4 +1,4 @@
storePassword=krowdev storePassword=krowdev
keyPassword=krowdev keyPassword=krowdev
keyAlias=staff-dev keyAlias=upload
storeFile=kast_android_dev.jks storeFile=kast_android_dev.jks

View File

@@ -1,4 +1,4 @@
storePassword=krowstaging storePassword=krowstaging
keyPassword=krowstaging keyPassword=krowstaging
keyAlias=staff-staging keyAlias=upload
storeFile=key_staging.jks storeFile=key_staging.jks

View File

@@ -1,4 +1,4 @@
storePassword=krowstaging storePassword=krowstaging
keyPassword=krowstaging keyPassword=krowstaging
keyAlias=staff-staging keyAlias=upload
storeFile=key_staging.jks storeFile=key_staging.jks

View File

@@ -1,4 +1,4 @@
storePassword=krowdev storePassword=krowdev
keyPassword=krowdev keyPassword=krowdev
keyAlias=staff-dev keyAlias=upload
storeFile=kast_android_dev.jks storeFile=kast_android_dev.jks

View File

@@ -1,4 +1,4 @@
storePassword=krowstaging storePassword=krowstaging
keyPassword=krowstaging keyPassword=krowstaging
keyAlias=staff-staging keyAlias=upload
storeFile=key_staging.jks storeFile=key_staging.jks

View File

@@ -1,4 +1,4 @@
storePassword=krowstaging storePassword=krowstaging
keyPassword=krowstaging keyPassword=krowstaging
keyAlias=staff-staging keyAlias=upload
storeFile=key_staging.jks storeFile=key_staging.jks