feat: Update mobile CI workflow to use mobile-install-ci for CI-specific setup

This commit is contained in:
Achintha Isuru
2026-02-20 01:02:37 -05:00
parent 1510b69d59
commit 49f32b24f4
3 changed files with 28 additions and 4 deletions

View File

@@ -80,7 +80,7 @@ jobs:
- name: 📦 Get Flutter dependencies - name: 📦 Get Flutter dependencies
run: | run: |
make mobile-install make mobile-install-ci
- name: 🔨 Run compilation check - name: 🔨 Run compilation check
run: | run: |
@@ -120,7 +120,7 @@ jobs:
- name: 📦 Get Flutter dependencies - name: 📦 Get Flutter dependencies
run: | run: |
make mobile-install make mobile-install-ci
- name: 🔍 Lint changed Dart files - name: 🔍 Lint changed Dart files
run: | run: |

View File

@@ -19,7 +19,7 @@ else
$(error Invalid DC_ENV '$(DC_ENV)'. Use DC_ENV=dev or DC_ENV=validation) $(error Invalid DC_ENV '$(DC_ENV)'. Use DC_ENV=dev or DC_ENV=validation)
endif endif
.PHONY: dataconnect-enable-apis dataconnect-init dataconnect-deploy dataconnect-sql-migrate dataconnect-generate-sdk dataconnect-sync dataconnect-bootstrap-db check-gcloud-beta dataconnect-clean dataconnect-bootstrap-validation-db dataconnect-file dataconnect-file-validation dataconnect-file-dev dataconnect-seed dataconnect-test .PHONY: dataconnect-enable-apis dataconnect-init dataconnect-deploy dataconnect-sql-migrate dataconnect-generate-sdk dataconnect-generate-sdk-ci dataconnect-sync dataconnect-bootstrap-db check-gcloud-beta dataconnect-clean dataconnect-bootstrap-validation-db dataconnect-file dataconnect-file-validation dataconnect-file-dev dataconnect-seed dataconnect-test
#creation dataconnect file #creation dataconnect file
dataconnect-file: dataconnect-file:
@@ -79,6 +79,23 @@ dataconnect-generate-sdk: dataconnect-file
@firebase dataconnect:sdk:generate --project=$(FIREBASE_ALIAS) @firebase dataconnect:sdk:generate --project=$(FIREBASE_ALIAS)
@echo "✅ Data Connect SDK generation completed for [$(DC_ENV)]." @echo "✅ Data Connect SDK generation completed for [$(DC_ENV)]."
# CI-safe SDK generation: tries Firebase CLI if available, otherwise uses pre-generated SDK
dataconnect-generate-sdk-ci: dataconnect-file
@echo "--> Generating Firebase Data Connect SDK for CI [$(DC_SERVICE)]..."
@if command -v firebase >/dev/null 2>&1; then \
echo " Firebase CLI found, generating SDK..."; \
firebase dataconnect:sdk:generate --project=$(FIREBASE_ALIAS); \
echo "✅ Data Connect SDK generation completed for [$(DC_ENV)]."; \
else \
echo " Firebase CLI not found in CI environment"; \
if [ -d "apps/mobile/packages/data_connect/lib/src/dataconnect_generated" ]; then \
echo " ✅ Using pre-generated SDK from apps/mobile/packages/data_connect/lib/src/dataconnect_generated"; \
else \
echo "❌ ERROR: Firebase CLI not available and pre-generated SDK not found!"; \
exit 1; \
fi; \
fi
# Unified backend schema update workflow (schema -> deploy -> SDK) # Unified backend schema update workflow (schema -> deploy -> SDK)
dataconnect-sync: dataconnect-file dataconnect-sync: dataconnect-file
@echo "--> [1/3] Deploying Data Connect [$(DC_SERVICE)]..." @echo "--> [1/3] Deploying Data Connect [$(DC_SERVICE)]..."

View File

@@ -1,6 +1,6 @@
# --- Mobile App Development --- # --- Mobile App Development ---
.PHONY: mobile-install mobile-info mobile-analyze mobile-client-dev-android mobile-staff-dev-android mobile-client-build mobile-staff-build mobile-hot-reload mobile-hot-restart .PHONY: mobile-install mobile-install-ci mobile-info mobile-analyze mobile-client-dev-android mobile-staff-dev-android mobile-client-build mobile-staff-build mobile-hot-reload mobile-hot-restart
MOBILE_DIR := apps/mobile MOBILE_DIR := apps/mobile
@@ -15,6 +15,13 @@ mobile-install: install-melos dataconnect-generate-sdk
@echo "--> Generating localization files..." @echo "--> Generating localization files..."
@cd $(MOBILE_DIR) && melos run gen:l10n @cd $(MOBILE_DIR) && melos run gen:l10n
mobile-install-ci: install-melos dataconnect-generate-sdk-ci
@echo "--> Bootstrapping mobile workspace for CI (Melos)..."
@cd $(MOBILE_DIR) && melos bootstrap
@echo "--> Generating localization files..."
@cd $(MOBILE_DIR) && melos run gen:l10n
@echo "✅ CI mobile setup complete"
mobile-info: mobile-info:
@echo "--> Fetching mobile command info..." @echo "--> Fetching mobile command info..."
@cd $(MOBILE_DIR) && melos run info @cd $(MOBILE_DIR) && melos run info