feat: Implement Android keystore setup for secure signing in release builds and update documentation for local and CI/CD environments

This commit is contained in:
Achintha Isuru
2026-02-28 22:32:54 -05:00
parent 7c701ded5f
commit 1ab5ba2e6f
14 changed files with 190 additions and 60 deletions

View File

@@ -1,3 +1,7 @@
# Note: key.properties files are now committed to the repository
# CodeMagic keystores are uploaded via Team Settings > Code signing identities > Android keystores
# The keystores are referenced in each workflow's environment section with custom variable names
# Reusable script for building the Flutter app
client-app-android-apk-build-script: &client-app-android-apk-build-script
name: 👷🤖 Build Client App APK (Android)
@@ -170,6 +174,12 @@ workflows:
cocoapods: default
groups:
- client_app_dev_credentials
android_signing:
- 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
key_password_environment_variable: CM_KEY_PASSWORD_CLIENT
vars:
ENV: dev
scripts:
@@ -185,6 +195,12 @@ workflows:
cocoapods: default
groups:
- client_app_staging_credentials
android_signing:
- 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
key_password_environment_variable: CM_KEY_PASSWORD_CLIENT
vars:
ENV: staging
scripts:
@@ -197,6 +213,12 @@ workflows:
environment:
groups:
- client_app_prod_credentials
android_signing:
- 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
key_password_environment_variable: CM_KEY_PASSWORD_CLIENT
vars:
ENV: prod
scripts:
@@ -254,6 +276,12 @@ workflows:
cocoapods: default
groups:
- staff_app_dev_credentials
android_signing:
- 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
key_password_environment_variable: CM_KEY_PASSWORD_STAFF
vars:
ENV: dev
scripts:
@@ -269,6 +297,12 @@ workflows:
cocoapods: default
groups:
- staff_app_staging_credentials
android_signing:
- 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
key_password_environment_variable: CM_KEY_PASSWORD_STAFF
vars:
ENV: staging
scripts:
@@ -284,6 +318,12 @@ workflows:
cocoapods: default
groups:
- staff_app_prod_credentials
android_signing:
- 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
key_password_environment_variable: CM_KEY_PASSWORD_STAFF
vars:
ENV: prod
scripts: