# Codemagic Environment Variables This document outlines the environment variables required for the Codemagic CI/CD pipelines defined in `codemagic.yaml`. These variables should be configured in your Codemagic project under **Environment variables**. ## Client App (`client-app`) --- ### Group: `client_app_dev_credentials` | Variable Name | Example Value | Secure | Description | | :--- | :--- | :--- | :--- | | `FLAVOR` | `dev` | No | The Flutter flavor to use for the build. | | `FIREBASE_APP_ID_ANDROID` | `1:DEV_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Dev). | | `FIREBASE_APP_ID_IOS` | `1:DEV_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Dev). | | `FIREBASE_TESTER_GROUPS` | `developers` | No | Comma-separated list of Firebase tester groups. | | `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | | `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Dev). | | `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Dev). | | `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | | `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | | `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | ### Group: `client_app_staging_credentials` | Variable Name | Example Value | Secure | Description | | :--- | :--- | :--- | :--- | | `FLAVOR` | `staging` | No | The Flutter flavor to use for the build. | | `FIREBASE_APP_ID_ANDROID` | `1:STAGING_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Staging). | | `FIREBASE_APP_ID_IOS` | `1:STAGING_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Staging). | | `FIREBASE_TESTER_GROUPS` | `qa-team, stakeholders` | No | Comma-separated list of Firebase tester groups. | | `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | | `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Staging). | | `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Staging). | | `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | | `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | | `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | ### Group: `client_app_prod_credentials` | Variable Name | Example Value | Secure | Description | | :--- | :--- | :--- | :--- | | `FLAVOR` | `prod` | No | The Flutter flavor to use for the build. | | `FIREBASE_APP_ID_ANDROID` | `1:PROD_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Prod). | | `FIREBASE_APP_ID_IOS` | `1:PROD_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Prod). | | `FIREBASE_TESTER_GROUPS` | `(empty or specific group)` | No | Comma-separated list of Firebase tester groups. | | `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | | `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Prod). | | `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Prod). | | `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | | `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | | `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | ## Staff App (`staff-app`) --- ### Group: `staff_app_dev_credentials` | Variable Name | Example Value | Secure | Description | | :--- | :--- | :--- | :--- | | `FLAVOR` | `dev` | No | The Flutter flavor to use for the build. | | `FIREBASE_APP_ID_ANDROID` | `1:DEV_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Dev). | | `FIREBASE_APP_ID_IOS` | `1:DEV_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Dev). | | `FIREBASE_TESTER_GROUPS` | `developers` | No | Comma-separated list of Firebase tester groups. | | `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | | `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Dev). | | `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Dev). | | `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | | `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | | `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | ### Group: `staff_app_staging_credentials` | Variable Name | Example Value | Secure | Description | | :--- | :--- | :--- | :--- | | `FLAVOR` | `staging` | No | The Flutter flavor to use for the build. | | `FIREBASE_APP_ID_ANDROID` | `1:STAGING_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Staging). | | `FIREBASE_APP_ID_IOS` | `1:STAGING_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Staging). | | `FIREBASE_TESTER_GROUPS` | `qa-team, stakeholders` | No | Comma-separated list of Firebase tester groups. | | `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | | `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Staging). | | `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Staging). | | `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | | `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | | `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. | ### Group: `staff_app_prod_credentials` | Variable Name | Example Value | Secure | Description | | :--- | :--- | :--- | :--- | | `FLAVOR` | `prod` | No | The Flutter flavor to use for the build. | | `FIREBASE_APP_ID_ANDROID` | `1:PROD_ANDROID_APP_ID` | No | The Firebase App ID for the Android app (Prod). | | `FIREBASE_APP_ID_IOS` | `1:PROD_IOS_APP_ID` | No | The Firebase App ID for the iOS app (Prod). | | `FIREBASE_TESTER_GROUPS` | `(empty or specific group)` | No | Comma-separated list of Firebase tester groups. | | `FIREBASE_TOKEN` | `(your_firebase_token)` | Yes | Your Firebase CLI token. | | `GOOGLE_SERVICES_JSON` | `(contents of google-services.json)` | Yes | Contents of your `google-services.json` file for Android (Prod). | | `GOOGLE_SERVICE_INFO_PLIST` | `(contents of GoogleService-Info.plist)` | Yes | Contents of your `GoogleService-Info.plist` file for iOS (Prod). | | `KEYSTORE_PASSWORD` | `(your_keystore_password)` | Yes | Password for the Android keystore. | | `KEY_ALIAS` | `(your_key_alias)` | Yes | Alias for the key in the Android keystore. | | `KEY_PASSWORD` | `(your_key_password)` | Yes | Password for the key in the Android keystore. |