From 0fad902991990874772e8958a12171c2b7dd667c Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Fri, 20 Feb 2026 01:10:38 -0500 Subject: [PATCH] feat: Install Firebase CLI in CI workflow and simplify SDK generation process --- .github/workflows/mobile-ci.yml | 8 ++++++++ makefiles/dataconnect.mk | 18 ++---------------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/.github/workflows/mobile-ci.yml b/.github/workflows/mobile-ci.yml index 70e41929..a4532cb0 100644 --- a/.github/workflows/mobile-ci.yml +++ b/.github/workflows/mobile-ci.yml @@ -78,6 +78,10 @@ jobs: channel: 'stable' cache: true + - name: 🔧 Install Firebase CLI + run: | + npm install -g firebase-tools + - name: 📦 Get Flutter dependencies run: | make mobile-install-ci @@ -118,6 +122,10 @@ jobs: channel: 'stable' cache: true + - name: 🔧 Install Firebase CLI + run: | + npm install -g firebase-tools + - name: 📦 Get Flutter dependencies run: | make mobile-install-ci diff --git a/makefiles/dataconnect.mk b/makefiles/dataconnect.mk index 84b04dff..acd5b428 100644 --- a/makefiles/dataconnect.mk +++ b/makefiles/dataconnect.mk @@ -79,22 +79,8 @@ dataconnect-generate-sdk: dataconnect-file @firebase dataconnect:sdk:generate --project=$(FIREBASE_ALIAS) @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 +# CI version: same as regular since Firebase CLI is now installed in CI +dataconnect-generate-sdk-ci: dataconnect-generate-sdk # Unified backend schema update workflow (schema -> deploy -> SDK) dataconnect-sync: dataconnect-file