From e386c34b86abab2d9f782326b98cba16b10d4b00 Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Wed, 4 Mar 2026 13:58:21 -0500 Subject: [PATCH] Use shared CI keystore env vars; remove backup Standardize CI signing config and clean up Android build files: - Replace app-specific CodeMagic keystore env vars (CM_KEYSTORE_PATH_CLIENT/STAFF, CM_KEYSTORE_PASSWORD_CLIENT/STAFF, CM_KEY_ALIAS_CLIENT/STAFF, CM_KEY_PASSWORD_CLIENT/STAFF) with shared variables (CM_KEYSTORE_PATH, CM_KEYSTORE_PASSWORD, CM_KEY_ALIAS, CM_KEY_PASSWORD) in client and staff build.gradle.kts to unify CI configuration. - Remove stray TODO comment about applicationId in both build files (cleanup). - Adjust manifestPlaceholders placement in the client build file. - Delete a backup google-services.json_back from the staff app to remove an unnecessary/sensitive artifact. --- .../apps/client/android/app/build.gradle.kts | 12 +- .../apps/staff/android/app/build.gradle.kts | 9 +- .../android/app/google-services.json_back | 162 ------------------ codemagic.yaml | 12 +- 4 files changed, 15 insertions(+), 180 deletions(-) delete mode 100644 apps/mobile/apps/staff/android/app/google-services.json_back diff --git a/apps/mobile/apps/client/android/app/build.gradle.kts b/apps/mobile/apps/client/android/app/build.gradle.kts index f169e26c..323e6fd0 100644 --- a/apps/mobile/apps/client/android/app/build.gradle.kts +++ b/apps/mobile/apps/client/android/app/build.gradle.kts @@ -43,7 +43,6 @@ android { } defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.krowwithus.client" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. @@ -51,18 +50,17 @@ android { targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName - - manifestPlaceholders["GOOGLE_MAPS_API_KEY"] = dartEnvironmentVariables["GOOGLE_MAPS_API_KEY"] ?: "" + manifestPlaceholders["GOOGLE_MAPS_API_KEY"] = dartEnvironmentVariables["GOOGLE_MAPS_API_KEY"] ?: "" } signingConfigs { create("release") { if (System.getenv()["CI"] == "true") { // CodeMagic CI environment - storeFile = file(System.getenv()["CM_KEYSTORE_PATH_CLIENT"] ?: "") - storePassword = System.getenv()["CM_KEYSTORE_PASSWORD_CLIENT"] - keyAlias = System.getenv()["CM_KEY_ALIAS_CLIENT"] - keyPassword = System.getenv()["CM_KEY_PASSWORD_CLIENT"] + storeFile = file(System.getenv()["CM_KEYSTORE_PATH"] ?: "") + storePassword = System.getenv()["CM_KEYSTORE_PASSWORD"] + keyAlias = System.getenv()["CM_KEY_ALIAS"] + keyPassword = System.getenv()["CM_KEY_PASSWORD"] } else { // Local development environment keyAlias = keystoreProperties["keyAlias"] as String? diff --git a/apps/mobile/apps/staff/android/app/build.gradle.kts b/apps/mobile/apps/staff/android/app/build.gradle.kts index 9e3968be..0f7dd24a 100644 --- a/apps/mobile/apps/staff/android/app/build.gradle.kts +++ b/apps/mobile/apps/staff/android/app/build.gradle.kts @@ -43,7 +43,6 @@ android { } defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.krowwithus.staff" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. @@ -59,10 +58,10 @@ android { create("release") { if (System.getenv()["CI"] == "true") { // CodeMagic CI environment - storeFile = file(System.getenv()["CM_KEYSTORE_PATH_STAFF"] ?: "") - storePassword = System.getenv()["CM_KEYSTORE_PASSWORD_STAFF"] - keyAlias = System.getenv()["CM_KEY_ALIAS_STAFF"] - keyPassword = System.getenv()["CM_KEY_PASSWORD_STAFF"] + storeFile = file(System.getenv()["CM_KEYSTORE_PATH"] ?: "") + storePassword = System.getenv()["CM_KEYSTORE_PASSWORD"] + keyAlias = System.getenv()["CM_KEY_ALIAS"] + keyPassword = System.getenv()["CM_KEY_PASSWORD"] } else { // Local development environment keyAlias = keystoreProperties["keyAlias"] as String? diff --git a/apps/mobile/apps/staff/android/app/google-services.json_back b/apps/mobile/apps/staff/android/app/google-services.json_back deleted file mode 100644 index f4d57e10..00000000 --- a/apps/mobile/apps/staff/android/app/google-services.json_back +++ /dev/null @@ -1,162 +0,0 @@ -{ - "project_info": { - "project_number": "933560802882", - "project_id": "krow-workforce-dev", - "storage_bucket": "krow-workforce-dev.firebasestorage.app" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:933560802882:android:edcddb83ea4bbb517757db", - "android_client_info": { - "package_name": "com.krow.app.business.dev" - } - }, - "oauth_client": [ - { - "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "933560802882-dppsapp5i3lsfrlm1mhob2s21peofg1t.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.krow.app.staff.dev" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:933560802882:android:d49b8c0f4d19e95e7757db", - "android_client_info": { - "package_name": "com.krow.app.staff.dev" - } - }, - "oauth_client": [ - { - "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "933560802882-dppsapp5i3lsfrlm1mhob2s21peofg1t.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.krow.app.staff.dev" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:933560802882:android:da13569105659ead7757db", - "android_client_info": { - "package_name": "com.krowwithus.client" - } - }, - "oauth_client": [ - { - "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "933560802882-dppsapp5i3lsfrlm1mhob2s21peofg1t.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.krow.app.staff.dev" - } - } - ] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:933560802882:android:1ae05d85c865f77c7757db", - "android_client_info": { - "package_name": "com.krowwithus.staff" - } - }, - "oauth_client": [ - { - "client_id": "933560802882-ikdfv3o5f47g36qqgvfq55o4m19n7gk4.apps.googleusercontent.com", - "client_type": 1, - "android_info": { - "package_name": "com.krowwithus.staff", - "certificate_hash": "ac917ae8470ab29f1107c773c6017ff5ea5d102d" - } - }, - { - "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyDBYhflhK6DThKnS7RM-9raKdvyKzLUjY4" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "933560802882-grp98a1v7amflnnup68vh01tj06eaem1.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "933560802882-dppsapp5i3lsfrlm1mhob2s21peofg1t.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "com.krow.app.staff.dev" - } - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/codemagic.yaml b/codemagic.yaml index d853fbba..ad48ef42 100644 --- a/codemagic.yaml +++ b/codemagic.yaml @@ -175,7 +175,7 @@ workflows: groups: - client_app_dev_credentials android_signing: - - keystore: krow_client_dev + - keystore: KROW_CLIENT_DEV keystore_environment_variable: CM_KEYSTORE_PATH_CLIENT keystore_password_environment_variable: CM_KEYSTORE_PASSWORD_CLIENT key_alias_environment_variable: CM_KEY_ALIAS_CLIENT @@ -196,7 +196,7 @@ workflows: groups: - client_app_staging_credentials android_signing: - - keystore: krow_client_staging + - keystore: KROW_CLIENT_STAGING keystore_environment_variable: CM_KEYSTORE_PATH_CLIENT keystore_password_environment_variable: CM_KEYSTORE_PASSWORD_CLIENT key_alias_environment_variable: CM_KEY_ALIAS_CLIENT @@ -214,7 +214,7 @@ workflows: groups: - client_app_prod_credentials android_signing: - - keystore: krow_client_prod + - keystore: KROW_CLIENT_PROD keystore_environment_variable: CM_KEYSTORE_PATH_CLIENT keystore_password_environment_variable: CM_KEYSTORE_PASSWORD_CLIENT key_alias_environment_variable: CM_KEY_ALIAS_CLIENT @@ -277,7 +277,7 @@ workflows: groups: - staff_app_dev_credentials android_signing: - - keystore: krow_staff_dev + - keystore: KROW_STAFF_DEV keystore_environment_variable: CM_KEYSTORE_PATH_STAFF keystore_password_environment_variable: CM_KEYSTORE_PASSWORD_STAFF key_alias_environment_variable: CM_KEY_ALIAS_STAFF @@ -298,7 +298,7 @@ workflows: groups: - staff_app_staging_credentials android_signing: - - keystore: krow_staff_staging + - keystore: KROW_STAFF_STAGING keystore_environment_variable: CM_KEYSTORE_PATH_STAFF keystore_password_environment_variable: CM_KEYSTORE_PASSWORD_STAFF key_alias_environment_variable: CM_KEY_ALIAS_STAFF @@ -319,7 +319,7 @@ workflows: groups: - staff_app_prod_credentials android_signing: - - keystore: krow_staff_prod + - keystore: KROW_STAFF_PROD keystore_environment_variable: CM_KEYSTORE_PATH_STAFF keystore_password_environment_variable: CM_KEYSTORE_PASSWORD_STAFF key_alias_environment_variable: CM_KEY_ALIAS_STAFF