From 13dc1319883be7703217765831aeb4fa50b177b7 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:01:10 -0500 Subject: [PATCH 1/7] infra: Fix firebaseai job in zip.yml --- .github/workflows/zip.yml | 552 +++++++++++++++++++------------------- 1 file changed, 275 insertions(+), 277 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 325e836c1b2..6ecb4ae390d 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -16,7 +16,7 @@ permissions: env: # When a run_id is specified, build jobs will be skipped and the specified # run's artifacts will be used for testing. - PINNED_RUN_ID: '' + PINNED_RUN_ID: '19902617427' on: pull_request: @@ -175,180 +175,180 @@ jobs: echo "run_id=${{ github.run_id }}" >> $GITHUB_OUTPUT fi - check_framework_firestore_symbols: - needs: packaging_done - if: ${{ !cancelled() }} - env: - FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 - runs-on: macos-14 - steps: - - name: Xcode 16.2 - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: Firebase-actions-dir - run-id: ${{ needs.packaging_done.outputs.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Install xcpretty - run: gem install xcpretty - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - - name: Check linked Firestore.xcframework for unlinked symbols. - run: | - scripts/check_firestore_symbols.sh \ - $(pwd) \ - "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework + # check_framework_firestore_symbols: + # needs: packaging_done + # if: ${{ !cancelled() }} + # env: + # FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 + # runs-on: macos-14 + # steps: + # - name: Xcode 16.2 + # run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4.1.7 + # with: + # name: Firebase-actions-dir + # run-id: ${{ needs.packaging_done.outputs.run_id }} + # github-token: ${{ secrets.GITHUB_TOKEN }} + # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + # - name: Setup Bundler + # run: ./scripts/setup_bundler.sh + # - name: Install xcpretty + # run: gem install xcpretty + # - name: Move frameworks + # run: | + # mkdir -p "${HOME}"/ios_frameworks/ + # find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + # - name: Check linked Firestore.xcframework for unlinked symbols. + # run: | + # scripts/check_firestore_symbols.sh \ + # $(pwd) \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework - quickstart_framework_abtesting: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "ABTesting" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - SAMPLE="ABTesting" TARGET="ABTestingExample" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FBLPromises.xcframework \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework - plist_src_path: scripts/gha-encrypted/qs-abtesting.plist.gpg - plist_dst_path: quickstart-ios/abtesting/GoogleService-Info.plist - os: ${{ matrix.build-env.os }} - xcode: ${{ matrix.build-env.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_abtesting: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # build-env: + # - os: macos-15 + # xcode: Xcode_16.4 + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "ABTesting" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # SAMPLE="ABTesting" TARGET="ABTestingExample" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FBLPromises.xcframework \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework + # plist_src_path: scripts/gha-encrypted/qs-abtesting.plist.gpg + # plist_dst_path: quickstart-ios/abtesting/GoogleService-Info.plist + # os: ${{ matrix.build-env.os }} + # xcode: ${{ matrix.build-env.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart_framework_auth: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - os: [macos-15] - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - include: - - os: macos-15 - xcode: Xcode_16.4 - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "Authentication" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - SAMPLE="Authentication" TARGET="AuthenticationExample" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ - "${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - plist_src_path: scripts/gha-encrypted/qs-authentication.plist.gpg - plist_dst_path: quickstart-ios/authentication/GoogleService-Info.plist - os: ${{ matrix.os }} - xcode: ${{ matrix.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_auth: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # os: [macos-15] + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # include: + # - os: macos-15 + # xcode: Xcode_16.4 + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "Authentication" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # SAMPLE="Authentication" TARGET="AuthenticationExample" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ + # "${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # plist_src_path: scripts/gha-encrypted/qs-authentication.plist.gpg + # plist_dst_path: quickstart-ios/authentication/GoogleService-Info.plist + # os: ${{ matrix.os }} + # xcode: ${{ matrix.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart_framework_config: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "Config" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - SAMPLE="Config" TARGET="ConfigExample" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - plist_src_path: scripts/gha-encrypted/qs-config.plist.gpg - plist_dst_path: quickstart-ios/config/GoogleService-Info.plist - os: ${{ matrix.build-env.os }} - xcode: ${{ matrix.build-env.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_config: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # build-env: + # - os: macos-15 + # xcode: Xcode_16.4 + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "Config" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # SAMPLE="Config" TARGET="ConfigExample" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # plist_src_path: scripts/gha-encrypted/qs-config.plist.gpg + # plist_dst_path: quickstart-ios/config/GoogleService-Info.plist + # os: ${{ matrix.build-env.os }} + # xcode: ${{ matrix.build-env.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart_framework_crashlytics: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "Crashlytics" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseAnalytics* - rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAppMeasurement* - rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAds* - SAMPLE="Crashlytics" TARGET="CrashlyticsExample" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - cd quickstart-ios/crashlytics - "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk "Crashlytics" \ - --target "CrashlyticsExample_(watchOS)_Extension" \ - --framework_path Firebase/ - cd ../../ - scripts/patch_crashlytics_run_path.rb - plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg - plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist - os: ${{ matrix.build-env.os }} - xcode: ${{ matrix.build-env.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_crashlytics: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # build-env: + # - os: macos-15 + # xcode: Xcode_16.4 + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "Crashlytics" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseAnalytics* + # rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAppMeasurement* + # rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAds* + # SAMPLE="Crashlytics" TARGET="CrashlyticsExample" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # cd quickstart-ios/crashlytics + # "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk "Crashlytics" \ + # --target "CrashlyticsExample_(watchOS)_Extension" \ + # --framework_path Firebase/ + # cd ../../ + # scripts/patch_crashlytics_run_path.rb + # plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg + # plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist + # os: ${{ matrix.build-env.os }} + # xcode: ${{ matrix.build-env.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart_framework_database: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - os: [macos-14] - xcode: [Xcode_16.2] - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "Database" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - SAMPLE="Database" TARGET="DatabaseExample" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - plist_src_path: scripts/gha-encrypted/qs-database.plist.gpg - plist_dst_path: quickstart-ios/database/GoogleService-Info.plist - os: ${{ matrix.os }} - xcode: ${{ matrix.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_database: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # os: [macos-14] + # xcode: [Xcode_16.2] + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "Database" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # SAMPLE="Database" TARGET="DatabaseExample" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # plist_src_path: scripts/gha-encrypted/qs-database.plist.gpg + # plist_dst_path: quickstart-ios/database/GoogleService-Info.plist + # os: ${{ matrix.os }} + # xcode: ${{ matrix.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} # TODO(ncooke3): Migrate to use shared workflow after fixing AI scheme names. quickstart_framework_firebaseai: @@ -357,8 +357,6 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} SDK: "FirebaseAI" - # This is a workaround to use the FirebaseAIExampleZip scheme that does not have the SPM dependency. - SWIFT_SUFFIX: "Zip" strategy: matrix: artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] @@ -385,7 +383,7 @@ jobs: find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - uses: actions/checkout@v4 - name: Setup quickstart - run: SAMPLE="$SDK" TARGET="${SDK}ExampleZip" scripts/setup_quickstart_framework.sh \ + run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ "${HOME}"/ios_frameworks/Firebase/FirebaseAILogic/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - name: Install Secret GoogleService-Info.plist @@ -404,110 +402,110 @@ jobs: quickstart-ios/ !quickstart-ios/**/GoogleService-Info.plist - quickstart_framework_firestore: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "Firestore" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - SAMPLE="Firestore" TARGET="FirestoreExample" NON_FIREBASE_SDKS="SDWebImage FirebaseAuthUI FirebaseEmailAuthUI" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - plist_src_path: scripts/gha-encrypted/qs-firestore.plist.gpg - plist_dst_path: quickstart-ios/firestore/GoogleService-Info.plist - os: ${{ matrix.build-env.os }} - xcode: ${{ matrix.build-env.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_firestore: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # build-env: + # - os: macos-15 + # xcode: Xcode_16.4 + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "Firestore" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # SAMPLE="Firestore" TARGET="FirestoreExample" NON_FIREBASE_SDKS="SDWebImage FirebaseAuthUI FirebaseEmailAuthUI" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # plist_src_path: scripts/gha-encrypted/qs-firestore.plist.gpg + # plist_dst_path: quickstart-ios/firestore/GoogleService-Info.plist + # os: ${{ matrix.build-env.os }} + # xcode: ${{ matrix.build-env.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart_framework_inappmessaging: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "InAppMessaging" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - SAMPLE="InAppMessaging" TARGET="InAppMessagingExample" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - plist_src_path: scripts/gha-encrypted/qs-inappmessaging.plist.gpg - plist_dst_path: quickstart-ios/inappmessaging/GoogleService-Info.plist - os: ${{ matrix.build-env.os }} - xcode: ${{ matrix.build-env.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_inappmessaging: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # build-env: + # - os: macos-15 + # xcode: Xcode_16.4 + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "InAppMessaging" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # SAMPLE="InAppMessaging" TARGET="InAppMessagingExample" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # plist_src_path: scripts/gha-encrypted/qs-inappmessaging.plist.gpg + # plist_dst_path: quickstart-ios/inappmessaging/GoogleService-Info.plist + # os: ${{ matrix.build-env.os }} + # xcode: ${{ matrix.build-env.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart_framework_messaging: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "Messaging" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - SAMPLE="Messaging" TARGET="MessagingExample" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - cd quickstart-ios/messaging - "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb \ - --sdk "Messaging" \ - --target "NotificationServiceExtension" \ - --framework_path Firebase/ - plist_src_path: scripts/gha-encrypted/qs-messaging.plist.gpg - plist_dst_path: quickstart-ios/messaging/GoogleService-Info.plist - os: ${{ matrix.build-env.os }} - xcode: ${{ matrix.build-env.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_messaging: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # build-env: + # - os: macos-15 + # xcode: Xcode_16.4 + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "Messaging" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # SAMPLE="Messaging" TARGET="MessagingExample" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # cd quickstart-ios/messaging + # "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb \ + # --sdk "Messaging" \ + # --target "NotificationServiceExtension" \ + # --framework_path Firebase/ + # plist_src_path: scripts/gha-encrypted/qs-messaging.plist.gpg + # plist_dst_path: quickstart-ios/messaging/GoogleService-Info.plist + # os: ${{ matrix.build-env.os }} + # xcode: ${{ matrix.build-env.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - quickstart_framework_storage: - needs: packaging_done - if: ${{ !cancelled() }} - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - uses: ./.github/workflows/common_quickstart_framework.yml - with: - product: "Storage" - zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - artifact_name: ${{ matrix.artifact }} - setup_command: | - SAMPLE="Storage" TARGET="StorageExample" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg - plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist - os: ${{ matrix.build-env.os }} - xcode: ${{ matrix.build-env.xcode }} - secrets: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # quickstart_framework_storage: + # needs: packaging_done + # if: ${{ !cancelled() }} + # strategy: + # matrix: + # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + # build-env: + # - os: macos-15 + # xcode: Xcode_16.4 + # uses: ./.github/workflows/common_quickstart_framework.yml + # with: + # product: "Storage" + # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + # artifact_name: ${{ matrix.artifact }} + # setup_command: | + # SAMPLE="Storage" TARGET="StorageExample" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg + # plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist + # os: ${{ matrix.build-env.os }} + # xcode: ${{ matrix.build-env.xcode }} + # secrets: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} From b6a7ddf03f26c7e2cb0a2f4feebdee74197903b9 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:03:23 -0500 Subject: [PATCH 2/7] Apply suggestion from @ncooke3 --- .github/workflows/zip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 6ecb4ae390d..b97f7efa267 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -16,7 +16,7 @@ permissions: env: # When a run_id is specified, build jobs will be skipped and the specified # run's artifacts will be used for testing. - PINNED_RUN_ID: '19902617427' + PINNED_RUN_ID: '19881965210' on: pull_request: From badd7e205f7b9e19a6ba41d8550f29a9f2bc2ff2 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:12:01 -0500 Subject: [PATCH 3/7] maybe --- .github/workflows/zip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index b97f7efa267..703c3e63a4e 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -383,7 +383,7 @@ jobs: find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - uses: actions/checkout@v4 - name: Setup quickstart - run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ + run: SAMPLE="$SDK" TARGET="${SDK}Example (iOS)" scripts/setup_quickstart_framework.sh \ "${HOME}"/ios_frameworks/Firebase/FirebaseAILogic/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - name: Install Secret GoogleService-Info.plist From 977bdc9c1f1f816c0afe694e4a9d8af283820451 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:17:57 -0500 Subject: [PATCH 4/7] Apply suggestion from @ncooke3 --- .github/workflows/zip.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 703c3e63a4e..806891547f8 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -357,6 +357,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} SDK: "FirebaseAI" + SWIFT_SUFFIX: " (iOS)" strategy: matrix: artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] From adce21bb1c96b61a20d30c689fa384d7711eca95 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:19:31 -0500 Subject: [PATCH 5/7] Apply suggestion from @ncooke3 --- .github/workflows/zip.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 806891547f8..00b7ff3f1a4 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -384,7 +384,7 @@ jobs: find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - uses: actions/checkout@v4 - name: Setup quickstart - run: SAMPLE="$SDK" TARGET="${SDK}Example (iOS)" scripts/setup_quickstart_framework.sh \ + run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ "${HOME}"/ios_frameworks/Firebase/FirebaseAILogic/* \ "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - name: Install Secret GoogleService-Info.plist From 6cbfaac1181e32d27b350015a102d21dc7c15912 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:35:51 -0500 Subject: [PATCH 6/7] work --- scripts/test_quickstart_framework.sh | 6 +----- scripts/zip_quickstart_test.sh | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/scripts/test_quickstart_framework.sh b/scripts/test_quickstart_framework.sh index 8b390536a2a..e4552e4e7a7 100755 --- a/scripts/test_quickstart_framework.sh +++ b/scripts/test_quickstart_framework.sh @@ -30,9 +30,5 @@ source scripts/check_secrets.sh if check_secrets; then cd quickstart-ios - if [ "$platform" = "swift" ]; then - have_secrets=true SAMPLE="$sample" SWIFT_SUFFIX="Swift" "${REPO}"/scripts/zip_quickstart_test.sh - else - have_secrets=true SAMPLE="$sample" "${REPO}"/scripts/zip_quickstart_test.sh - fi + have_secrets=true SAMPLE="$sample" "${REPO}"/scripts/zip_quickstart_test.sh fi diff --git a/scripts/zip_quickstart_test.sh b/scripts/zip_quickstart_test.sh index 0a3cc30ec9a..5f314aaa3e1 100755 --- a/scripts/zip_quickstart_test.sh +++ b/scripts/zip_quickstart_test.sh @@ -26,10 +26,6 @@ EXIT_STATUS=0 cd "${SAMPLE}" -if [[ ! -z "$LEGACY" ]]; then - cd "Legacy${SAMPLE}Quickstart" -fi - xcode_version=$(xcodebuild -version | grep Xcode) xcode_version="${xcode_version/Xcode /}" xcode_major="${xcode_version/.*/}" @@ -58,7 +54,7 @@ fi ( xcodebuild \ -project ${PROJECT_NAME} \ --scheme ${SCHEME_NAME} \ +-scheme "${SCHEME_NAME}" \ -destination "platform=iOS Simulator,name=$device_name" "SWIFT_VERSION=5.3" "OTHER_LDFLAGS=\$(OTHER_LDFLAGS) -ObjC" "FRAMEWORK_SEARCH_PATHS= \$(PROJECT_DIR)/Firebase/" HEADER_SEARCH_PATHS='$(inherited) $(PROJECT_DIR)/Firebase' \ build \ ) || EXIT_STATUS=$? From bbbaf7b55d98303a364af78463bd20a86499c6ee Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:43:28 -0500 Subject: [PATCH 7/7] zip --- .github/workflows/zip.yml | 548 +++++++++++++++++++------------------- 1 file changed, 274 insertions(+), 274 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 00b7ff3f1a4..3a79a940d1e 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -16,7 +16,7 @@ permissions: env: # When a run_id is specified, build jobs will be skipped and the specified # run's artifacts will be used for testing. - PINNED_RUN_ID: '19881965210' + PINNED_RUN_ID: '' on: pull_request: @@ -175,180 +175,180 @@ jobs: echo "run_id=${{ github.run_id }}" >> $GITHUB_OUTPUT fi - # check_framework_firestore_symbols: - # needs: packaging_done - # if: ${{ !cancelled() }} - # env: - # FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 - # runs-on: macos-14 - # steps: - # - name: Xcode 16.2 - # run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4.1.7 - # with: - # name: Firebase-actions-dir - # run-id: ${{ needs.packaging_done.outputs.run_id }} - # github-token: ${{ secrets.GITHUB_TOKEN }} - # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - # - name: Setup Bundler - # run: ./scripts/setup_bundler.sh - # - name: Install xcpretty - # run: gem install xcpretty - # - name: Move frameworks - # run: | - # mkdir -p "${HOME}"/ios_frameworks/ - # find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - # - name: Check linked Firestore.xcframework for unlinked symbols. - # run: | - # scripts/check_firestore_symbols.sh \ - # $(pwd) \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework + check_framework_firestore_symbols: + needs: packaging_done + if: ${{ !cancelled() }} + env: + FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 + runs-on: macos-14 + steps: + - name: Xcode 16.2 + run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: Firebase-actions-dir + run-id: ${{ needs.packaging_done.outputs.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Install xcpretty + run: gem install xcpretty + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + - name: Check linked Firestore.xcframework for unlinked symbols. + run: | + scripts/check_firestore_symbols.sh \ + $(pwd) \ + "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework - # quickstart_framework_abtesting: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # build-env: - # - os: macos-15 - # xcode: Xcode_16.4 - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "ABTesting" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # SAMPLE="ABTesting" TARGET="ABTestingExample" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FBLPromises.xcframework \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework - # plist_src_path: scripts/gha-encrypted/qs-abtesting.plist.gpg - # plist_dst_path: quickstart-ios/abtesting/GoogleService-Info.plist - # os: ${{ matrix.build-env.os }} - # xcode: ${{ matrix.build-env.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_abtesting: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "ABTesting" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + SAMPLE="ABTesting" TARGET="ABTestingExample" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FBLPromises.xcframework \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework + plist_src_path: scripts/gha-encrypted/qs-abtesting.plist.gpg + plist_dst_path: quickstart-ios/abtesting/GoogleService-Info.plist + os: ${{ matrix.build-env.os }} + xcode: ${{ matrix.build-env.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # quickstart_framework_auth: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # os: [macos-15] - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # include: - # - os: macos-15 - # xcode: Xcode_16.4 - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "Authentication" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # SAMPLE="Authentication" TARGET="AuthenticationExample" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ - # "${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # plist_src_path: scripts/gha-encrypted/qs-authentication.plist.gpg - # plist_dst_path: quickstart-ios/authentication/GoogleService-Info.plist - # os: ${{ matrix.os }} - # xcode: ${{ matrix.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_auth: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + os: [macos-15] + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + include: + - os: macos-15 + xcode: Xcode_16.4 + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "Authentication" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + SAMPLE="Authentication" TARGET="AuthenticationExample" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ + "${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + plist_src_path: scripts/gha-encrypted/qs-authentication.plist.gpg + plist_dst_path: quickstart-ios/authentication/GoogleService-Info.plist + os: ${{ matrix.os }} + xcode: ${{ matrix.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # quickstart_framework_config: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # build-env: - # - os: macos-15 - # xcode: Xcode_16.4 - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "Config" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # SAMPLE="Config" TARGET="ConfigExample" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # plist_src_path: scripts/gha-encrypted/qs-config.plist.gpg - # plist_dst_path: quickstart-ios/config/GoogleService-Info.plist - # os: ${{ matrix.build-env.os }} - # xcode: ${{ matrix.build-env.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_config: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "Config" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + SAMPLE="Config" TARGET="ConfigExample" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + plist_src_path: scripts/gha-encrypted/qs-config.plist.gpg + plist_dst_path: quickstart-ios/config/GoogleService-Info.plist + os: ${{ matrix.build-env.os }} + xcode: ${{ matrix.build-env.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # quickstart_framework_crashlytics: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # build-env: - # - os: macos-15 - # xcode: Xcode_16.4 - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "Crashlytics" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseAnalytics* - # rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAppMeasurement* - # rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAds* - # SAMPLE="Crashlytics" TARGET="CrashlyticsExample" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # cd quickstart-ios/crashlytics - # "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk "Crashlytics" \ - # --target "CrashlyticsExample_(watchOS)_Extension" \ - # --framework_path Firebase/ - # cd ../../ - # scripts/patch_crashlytics_run_path.rb - # plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg - # plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist - # os: ${{ matrix.build-env.os }} - # xcode: ${{ matrix.build-env.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_crashlytics: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "Crashlytics" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseAnalytics* + rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAppMeasurement* + rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAds* + SAMPLE="Crashlytics" TARGET="CrashlyticsExample" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + cd quickstart-ios/crashlytics + "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk "Crashlytics" \ + --target "CrashlyticsExample_(watchOS)_Extension" \ + --framework_path Firebase/ + cd ../../ + scripts/patch_crashlytics_run_path.rb + plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg + plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist + os: ${{ matrix.build-env.os }} + xcode: ${{ matrix.build-env.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # quickstart_framework_database: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # os: [macos-14] - # xcode: [Xcode_16.2] - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "Database" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # SAMPLE="Database" TARGET="DatabaseExample" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # plist_src_path: scripts/gha-encrypted/qs-database.plist.gpg - # plist_dst_path: quickstart-ios/database/GoogleService-Info.plist - # os: ${{ matrix.os }} - # xcode: ${{ matrix.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_database: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + os: [macos-14] + xcode: [Xcode_16.2] + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "Database" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + SAMPLE="Database" TARGET="DatabaseExample" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + plist_src_path: scripts/gha-encrypted/qs-database.plist.gpg + plist_dst_path: quickstart-ios/database/GoogleService-Info.plist + os: ${{ matrix.os }} + xcode: ${{ matrix.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} # TODO(ncooke3): Migrate to use shared workflow after fixing AI scheme names. quickstart_framework_firebaseai: @@ -403,110 +403,110 @@ jobs: quickstart-ios/ !quickstart-ios/**/GoogleService-Info.plist - # quickstart_framework_firestore: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # build-env: - # - os: macos-15 - # xcode: Xcode_16.4 - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "Firestore" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # SAMPLE="Firestore" TARGET="FirestoreExample" NON_FIREBASE_SDKS="SDWebImage FirebaseAuthUI FirebaseEmailAuthUI" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # plist_src_path: scripts/gha-encrypted/qs-firestore.plist.gpg - # plist_dst_path: quickstart-ios/firestore/GoogleService-Info.plist - # os: ${{ matrix.build-env.os }} - # xcode: ${{ matrix.build-env.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_firestore: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "Firestore" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + SAMPLE="Firestore" TARGET="FirestoreExample" NON_FIREBASE_SDKS="SDWebImage FirebaseAuthUI FirebaseEmailAuthUI" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + plist_src_path: scripts/gha-encrypted/qs-firestore.plist.gpg + plist_dst_path: quickstart-ios/firestore/GoogleService-Info.plist + os: ${{ matrix.build-env.os }} + xcode: ${{ matrix.build-env.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # quickstart_framework_inappmessaging: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # build-env: - # - os: macos-15 - # xcode: Xcode_16.4 - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "InAppMessaging" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # SAMPLE="InAppMessaging" TARGET="InAppMessagingExample" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # plist_src_path: scripts/gha-encrypted/qs-inappmessaging.plist.gpg - # plist_dst_path: quickstart-ios/inappmessaging/GoogleService-Info.plist - # os: ${{ matrix.build-env.os }} - # xcode: ${{ matrix.build-env.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_inappmessaging: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "InAppMessaging" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + SAMPLE="InAppMessaging" TARGET="InAppMessagingExample" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + plist_src_path: scripts/gha-encrypted/qs-inappmessaging.plist.gpg + plist_dst_path: quickstart-ios/inappmessaging/GoogleService-Info.plist + os: ${{ matrix.build-env.os }} + xcode: ${{ matrix.build-env.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # quickstart_framework_messaging: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # build-env: - # - os: macos-15 - # xcode: Xcode_16.4 - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "Messaging" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # SAMPLE="Messaging" TARGET="MessagingExample" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # cd quickstart-ios/messaging - # "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb \ - # --sdk "Messaging" \ - # --target "NotificationServiceExtension" \ - # --framework_path Firebase/ - # plist_src_path: scripts/gha-encrypted/qs-messaging.plist.gpg - # plist_dst_path: quickstart-ios/messaging/GoogleService-Info.plist - # os: ${{ matrix.build-env.os }} - # xcode: ${{ matrix.build-env.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_messaging: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "Messaging" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + SAMPLE="Messaging" TARGET="MessagingExample" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + cd quickstart-ios/messaging + "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb \ + --sdk "Messaging" \ + --target "NotificationServiceExtension" \ + --framework_path Firebase/ + plist_src_path: scripts/gha-encrypted/qs-messaging.plist.gpg + plist_dst_path: quickstart-ios/messaging/GoogleService-Info.plist + os: ${{ matrix.build-env.os }} + xcode: ${{ matrix.build-env.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # quickstart_framework_storage: - # needs: packaging_done - # if: ${{ !cancelled() }} - # strategy: - # matrix: - # artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - # build-env: - # - os: macos-15 - # xcode: Xcode_16.4 - # uses: ./.github/workflows/common_quickstart_framework.yml - # with: - # product: "Storage" - # zip_run_id: ${{ needs.packaging_done.outputs.run_id }} - # artifact_name: ${{ matrix.artifact }} - # setup_command: | - # SAMPLE="Storage" TARGET="StorageExample" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg - # plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist - # os: ${{ matrix.build-env.os }} - # xcode: ${{ matrix.build-env.xcode }} - # secrets: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + quickstart_framework_storage: + needs: packaging_done + if: ${{ !cancelled() }} + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + uses: ./.github/workflows/common_quickstart_framework.yml + with: + product: "Storage" + zip_run_id: ${{ needs.packaging_done.outputs.run_id }} + artifact_name: ${{ matrix.artifact }} + setup_command: | + SAMPLE="Storage" TARGET="StorageExample" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg + plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist + os: ${{ matrix.build-env.os }} + xcode: ${{ matrix.build-env.xcode }} + secrets: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}