diff --git a/codemagic.yaml b/codemagic.yaml index f0ade14d..6c5ed77f 100644 --- a/codemagic.yaml +++ b/codemagic.yaml @@ -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 + \ No newline at end of file diff --git a/mobile-apps/client-app/android/key_dev.properties b/mobile-apps/client-app/android/key_dev.properties index 4be9bfab..5099b224 100644 --- a/mobile-apps/client-app/android/key_dev.properties +++ b/mobile-apps/client-app/android/key_dev.properties @@ -1,4 +1,4 @@ storePassword=krowdev keyPassword=krowdev -keyAlias=staff-dev +keyAlias=upload storeFile=kast_android_dev.jks \ No newline at end of file diff --git a/mobile-apps/client-app/android/key_prod.properties b/mobile-apps/client-app/android/key_prod.properties index 9914a85b..f91a60e0 100644 --- a/mobile-apps/client-app/android/key_prod.properties +++ b/mobile-apps/client-app/android/key_prod.properties @@ -1,4 +1,4 @@ storePassword=krowstaging keyPassword=krowstaging -keyAlias=staff-staging +keyAlias=upload storeFile=key_staging.jks \ No newline at end of file diff --git a/mobile-apps/client-app/android/key_staging.properties b/mobile-apps/client-app/android/key_staging.properties index 9914a85b..f91a60e0 100644 --- a/mobile-apps/client-app/android/key_staging.properties +++ b/mobile-apps/client-app/android/key_staging.properties @@ -1,4 +1,4 @@ storePassword=krowstaging keyPassword=krowstaging -keyAlias=staff-staging +keyAlias=upload storeFile=key_staging.jks \ No newline at end of file diff --git a/mobile-apps/staff-app/android/key_dev.properties b/mobile-apps/staff-app/android/key_dev.properties index 4be9bfab..5099b224 100644 --- a/mobile-apps/staff-app/android/key_dev.properties +++ b/mobile-apps/staff-app/android/key_dev.properties @@ -1,4 +1,4 @@ storePassword=krowdev keyPassword=krowdev -keyAlias=staff-dev +keyAlias=upload storeFile=kast_android_dev.jks \ No newline at end of file diff --git a/mobile-apps/staff-app/android/key_prod.properties b/mobile-apps/staff-app/android/key_prod.properties index 9914a85b..f91a60e0 100644 --- a/mobile-apps/staff-app/android/key_prod.properties +++ b/mobile-apps/staff-app/android/key_prod.properties @@ -1,4 +1,4 @@ storePassword=krowstaging keyPassword=krowstaging -keyAlias=staff-staging +keyAlias=upload storeFile=key_staging.jks \ No newline at end of file diff --git a/mobile-apps/staff-app/android/key_staging.properties b/mobile-apps/staff-app/android/key_staging.properties index 9914a85b..f91a60e0 100644 --- a/mobile-apps/staff-app/android/key_staging.properties +++ b/mobile-apps/staff-app/android/key_staging.properties @@ -1,4 +1,4 @@ storePassword=krowstaging keyPassword=krowstaging -keyAlias=staff-staging +keyAlias=upload storeFile=key_staging.jks \ No newline at end of file