From ff9df42519079e8c918d8df458850537049f84fa Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 15 Oct 2025 11:45:06 -0400 Subject: [PATCH 1/7] fix(zip): Fix Messaging zip quickstart --- .github/workflows/zip.yml | 1125 ++++++++++++++++++------------------- 1 file changed, 558 insertions(+), 567 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index eba3c5b61b5..9de32c39b38 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -1,9 +1,16 @@ name: zip +# TODO(ncooke3): Add FirebaseAI test. + permissions: actions: read contents: read +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: '18517336809' + on: pull_request: paths: @@ -11,7 +18,7 @@ on: - '.github/workflows/zip.yml' - 'scripts/build_non_firebase_sdks.sh' - 'scripts/build_zip.sh' - - 'scripts/setup_quickstart_framework.sh' + - 'scripts/setup_quickstart_framework.sh'' - 'Gemfile*' # Don't run based on any markdown only changes. - '!ReleaseTooling/*.md' @@ -37,518 +44,514 @@ concurrency: cancel-in-progress: true jobs: - package-release: - # Don't run on private repo. - if: | - github.repository == 'firebase/firebase-ios-sdk' && - contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && - github.event.inputs.zip_run_id == '' - runs-on: macos-14 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: package-release - - name: Xcode 16.2 - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: ZipBuildingTest - run: | - mkdir -p release_zip_dir - sh -x scripts/build_zip.sh release_zip_dir \ - "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git' }}" \ - build-release \ - static - - uses: actions/upload-artifact@v4 - with: - name: Firebase-release-zip-zip - # Zip the entire output directory since the builder adds subdirectories we don't know the - # name of. - path: release_zip_dir + # package-release: + # # Don't run on private repo. + # if: | + # false && + # github.repository == 'firebase/firebase-ios-sdk' && + # contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && + # github.event.inputs.zip_run_id == '' + # runs-on: macos-14 + # steps: + # - uses: actions/checkout@v4 + # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + # with: + # cache_key: package-release + # - name: Xcode 16.2 + # run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + # - name: Setup Bundler + # run: ./scripts/setup_bundler.sh + # - name: ZipBuildingTest + # run: | + # mkdir -p release_zip_dir + # sh -x scripts/build_zip.sh release_zip_dir \ + # "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git' }}" \ + # build-release \ + # static + # - uses: actions/upload-artifact@v4 + # with: + # name: Firebase-release-zip-zip + # # Zip the entire output directory since the builder adds subdirectories we don't know the + # # name of. + # path: release_zip_dir - build: - # Don't run on private repo unless it is a PR. - if: | - github.repository == 'firebase/firebase-ios-sdk' && - contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && - github.event.inputs.zip_run_id == '' - runs-on: macos-14 - steps: - - uses: actions/checkout@v4 - - name: Xcode 16.2 - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - name: Build - run: | - cd ReleaseTooling - swift build -v + # build: + # # Don't run on private repo unless it is a PR. + # if: | + # false && + # github.repository == 'firebase/firebase-ios-sdk' && + # contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && + # github.event.inputs.zip_run_id == '' + # runs-on: macos-14 + # steps: + # - uses: actions/checkout@v4 + # - name: Xcode 16.2 + # run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + # - name: Build + # run: | + # cd ReleaseTooling + # swift build -v - package-head: - needs: build - strategy: - matrix: - linking_type: [static, dynamic] - runs-on: macos-14 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: package-head - - name: Xcode 16.2 - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: ZipBuildingTest - run: | - mkdir -p zip_output_dir - sh -x scripts/build_zip.sh \ - zip_output_dir "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git,https://github.com/firebase/SpecsDev.git' }}" \ - build-head \ - ${{ matrix.linking_type }} - - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: ${{ matrix.linking_type == 'static' && 'Firebase-actions-dir' || 'Firebase-actions-dir-dynamic' }} - # Zip the entire output directory since the builder adds subdirectories we don't know the - # name of. - path: zip_output_dir + # package-head: + # needs: build + # strategy: + # matrix: + # linking_type: [static, dynamic] + # runs-on: macos-14 + # steps: + # - uses: actions/checkout@v4 + # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + # with: + # cache_key: package-head + # - name: Xcode 16.2 + # run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + # - name: Setup Bundler + # run: ./scripts/setup_bundler.sh + # - name: ZipBuildingTest + # run: | + # mkdir -p zip_output_dir + # sh -x scripts/build_zip.sh \ + # zip_output_dir "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git,https://github.com/firebase/SpecsDev.git' }}" \ + # build-head \ + # ${{ matrix.linking_type }} + # - uses: actions/upload-artifact@v4 + # if: ${{ always() }} + # with: + # name: ${{ matrix.linking_type == 'static' && 'Firebase-actions-dir' || 'Firebase-actions-dir-dynamic' }} + # # Zip the entire output directory since the builder adds subdirectories we don't know the + # # name of. + # path: zip_output_dir - quickstart_framework_abtesting: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "ABTesting" - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - runs-on: ${{ matrix.build-env.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - - uses: actions/checkout@v4 - - name: Setup quickstart - env: - LEGACY: true - run: SAMPLE="$SDK" TARGET="${SDK}Example" 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 - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \ - quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret" - - name: Test Quickstart - env: - LEGACY: true - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - - name: Remove data before upload - env: - LEGACY: true - if: ${{ failure() }} - run: scripts/remove_data.sh abtesting - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_abtesting - path: quickstart-ios/ +# check_framework_firestore_symbols: +# # needs: package-head +# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# 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: 17965877651 # ${{ github.event.inputs.zip_run_id || github.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/ {} + +# - uses: actions/checkout@v4 +# - name: Check linked Firestore.xcframework for unlinked symbols. +# run: | +# scripts/check_firestore_symbols.sh \ +# $(pwd) \ +# "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework - quickstart_framework_auth: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Authentication" - strategy: - matrix: - os: [macos-15] - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - include: - - os: macos-15 - xcode: Xcode_16.4 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - - name: Setup Swift Quickstart - run: SAMPLE="$SDK" TARGET="${SDK}Example" 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/* - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-authentication.plist.gpg \ - quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret" - - name: Test Swift Quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - - name: Remove data before upload - if: ${{ failure() }} - run: scripts/remove_data.sh authentiation - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_auth - path: quickstart-ios/ +# quickstart_framework_abtesting: +# # needs: package-head +# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# SDK: "ABTesting" +# strategy: +# matrix: +# artifact: [Firebase-actions-dir] +# build-env: +# - os: macos-15 +# xcode: Xcode_16.4 +# runs-on: ${{ matrix.build-env.os }} +# steps: +# - uses: actions/checkout@v4 +# - name: Get framework dir +# uses: actions/download-artifact@v4.1.7 +# with: +# name: ${{ matrix.artifact }} +# run-id: ${{ github.event.inputs.zip_run_id || env.PINNED_RUN_ID || github.run_id }} +# github-token: ${{ secrets.GITHUB_TOKEN }} +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer +# - name: Setup Bundler +# run: ./scripts/setup_bundler.sh +# - name: Move frameworks +# run: | +# mkdir -p "${HOME}"/ios_frameworks/ +# 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 \ +# "${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 +# - name: Install Secret GoogleService-Info.plist +# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \ +# quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret" +# - name: Test Quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") +# - name: Remove data before upload +# if: always() +# run: scripts/remove_data.sh abtesting +# # - uses: actions/upload-artifact@v4 +# # if: ${{ failure() }} +# # with: +# # name: quickstart_artifacts_abtesting +# # path: quickstart-ios/ - quickstart_framework_config: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Config" - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - runs-on: ${{ matrix.build-env.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - - name: Setup Swift Quickstart +# quickstart_framework_auth: +# # needs: package-head +# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# SDK: "Authentication" +# strategy: +# matrix: +# os: [macos-15] +# artifact: [Firebase-actions-dir] +# include: +# - os: macos-15 +# xcode: Xcode_16.4 +# runs-on: ${{ matrix.os }} +# steps: +# - uses: actions/checkout@v4 +# - name: Get framework dir +# uses: actions/download-artifact@v4.1.7 +# with: +# name: ${{ matrix.artifact }} +# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} +# github-token: ${{ secrets.GITHUB_TOKEN }} +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer +# - name: Setup Bundler +# run: ./scripts/setup_bundler.sh +# - name: Move frameworks +# run: | +# mkdir -p "${HOME}"/ios_frameworks/ +# find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + +# - name: Setup Swift Quickstart +# run: SAMPLE="$SDK" TARGET="${SDK}Example" 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/* +# - name: Install Secret GoogleService-Info.plist +# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-authentication.plist.gpg \ +# quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret" +# - name: Test Swift Quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") +# # TODO: Can this be reusable? +# - name: Remove data before upload +# if: always() +# run: scripts/remove_data.sh authentication +# - uses: actions/upload-artifact@v4 +# # if: ${{ failure() }} +# with: +# name: quickstart_artifacts_auth +# path: quickstart-ios/ - run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \ - quickstart-ios/config/GoogleService-Info.plist "$plist_secret" - - name: Test Swift Quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - - name: Remove data before upload - if: ${{ failure() }} - run: scripts/remove_data.sh config - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_config - path: quickstart-ios/ +# quickstart_framework_config: +# # needs: package-head +# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# SDK: "Config" +# strategy: +# matrix: +# artifact: [Firebase-actions-dir] +# build-env: +# - os: macos-15 +# xcode: Xcode_16.4 +# runs-on: ${{ matrix.build-env.os }} +# steps: +# - uses: actions/checkout@v4 +# - name: Get framework dir +# uses: actions/download-artifact@v4.1.7 +# with: +# name: ${{ matrix.artifact }} +# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} +# github-token: ${{ secrets.GITHUB_TOKEN }} +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer +# - name: Setup Bundler +# run: ./scripts/setup_bundler.sh +# - name: Move frameworks +# run: | +# mkdir -p "${HOME}"/ios_frameworks/ +# find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + +# - name: Setup Swift Quickstart - quickstart_framework_crashlytics: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Crashlytics" - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - runs-on: ${{ matrix.build-env.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - - uses: actions/checkout@v4 - - name: Setup quickstart - env: - LEGACY: true - run: | - SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/run quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart - cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/upload-symbols quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart - chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/run - chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/upload-symbols - # TODO(#8057): Restore Swift Quickstart - # - name: Setup swift quickstart - # env: - # LEGACY: true - # run: | - # SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="ReachabilitySwift" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \ - quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret" - - name: Test Quickstart - env: - LEGACY: true - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - # TODO(#8057): Restore Swift Quickstart - # - name: Test Swift Quickstart - # env: - # LEGACY: true - # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) - - name: Remove data before upload - env: - LEGACY: true - if: ${{ failure() }} - run: scripts/remove_data.sh crashlytics - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_crashlytics - path: quickstart-ios/ +# run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ +# "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ +# "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* +# - name: Install Secret GoogleService-Info.plist +# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \ +# quickstart-ios/config/GoogleService-Info.plist "$plist_secret" +# - name: Test Swift Quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") +# - name: Remove data before upload +# if: always() +# run: scripts/remove_data.sh config +# - uses: actions/upload-artifact@v4 +# if: ${{ failure() }} +# with: +# name: quickstart_artifacts_config +# path: quickstart-ios/ - quickstart_framework_database: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Database" - strategy: - matrix: - os: [macos-14] - xcode: [Xcode_16.2] - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - 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" 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/* - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \ - quickstart-ios/database/GoogleService-Info.plist "$plist_secret" - - name: Test Quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - - name: Remove data before upload - if: ${{ failure() }} - run: scripts/remove_data.sh database - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts database - path: quickstart-ios/ +# quickstart_framework_crashlytics: +# # needs: package-head +# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# SDK: "Crashlytics" +# strategy: +# matrix: +# artifact: [Firebase-actions-dir] +# build-env: +# - os: macos-15 +# xcode: Xcode_16.4 +# runs-on: ${{ matrix.build-env.os }} +# steps: +# - uses: actions/checkout@v4 +# - name: Get framework dir +# uses: actions/download-artifact@v4.1.7 +# with: +# name: ${{ matrix.artifact }} +# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} +# github-token: ${{ secrets.GITHUB_TOKEN }} +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer +# - name: Setup Bundler +# run: ./scripts/setup_bundler.sh +# - name: Move frameworks +# run: | +# mkdir -p "${HOME}"/ios_frameworks/ +# find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + +# - uses: actions/checkout@v4 +# - name: Setup quickstart +# run: | +# 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="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ +# "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ +# "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* +# - name: Add frameworks to Crashlytics watchOS target +# run: | +# cd quickstart-ios/crashlytics +# "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk "Crashlytics" --target "CrashlyticsExample_(watchOS)_Extension" --framework_path Firebase/ +# - name: Patch Crashlytics Run Script Path +# run: scripts/patch_crashlytics_run_path.rb +# # TODO(#8057): Restore Swift Quickstart +# # - name: Setup swift quickstart +# # env: +# # LEGACY: true +# # run: | +# # SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="ReachabilitySwift" scripts/setup_quickstart_framework.sh \ +# # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* +# - name: Install Secret GoogleService-Info.plist +# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \ +# quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret" +# - name: Test Quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") +# # TODO(#8057): Restore Swift Quickstart +# # - name: Test Swift Quickstart +# # env: +# # LEGACY: true +# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) +# - name: Remove data before upload +# if: always() +# run: scripts/remove_data.sh crashlytics +# - uses: actions/upload-artifact@v4 +# if: ${{ failure() }} +# with: +# name: quickstart_artifacts_crashlytics +# path: quickstart-ios/ - quickstart_framework_firestore: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Firestore" - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - runs-on: ${{ matrix.build-env.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - 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" 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/* - - name: Upload build logs on failure - if: ${{ failure() }} - uses: actions/upload-artifact@v4 - with: - name: build_logs_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }} - path: sdk_zip/build_logs/ - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \ - quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret" - - name: Test Quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - - name: Remove data before upload and zip directory to reduce upload size. - if: ${{ failure() }} - run: scripts/remove_data.sh firestore; zip -r --symlinks quickstart_artifacts_firestore.zip quickstart-ios/ - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }} - path: quickstart_artifacts_firestore.zip +# quickstart_framework_database: +# # needs: package-head +# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# SDK: "Database" +# strategy: +# matrix: +# os: [macos-14] +# xcode: [Xcode_16.2] +# artifact: [Firebase-actions-dir] +# runs-on: ${{ matrix.os }} +# steps: +# - uses: actions/checkout@v4 +# - name: Get framework dir +# uses: actions/download-artifact@v4.1.7 +# with: +# name: ${{ matrix.artifact }} +# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} +# github-token: ${{ secrets.GITHUB_TOKEN }} +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer +# - name: Setup Bundler +# run: ./scripts/setup_bundler.sh +# - name: Move frameworks +# run: | +# mkdir -p "${HOME}"/ios_frameworks/ +# 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" 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/* +# - name: Install Secret GoogleService-Info.plist +# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \ +# quickstart-ios/database/GoogleService-Info.plist "$plist_secret" +# - name: Test Quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") +# - name: Remove data before upload +# if: always() +# run: scripts/remove_data.sh database +# # - uses: actions/upload-artifact@v4 +# # if: ${{ failure() }} +# # with: +# # name: quickstart_artifacts database +# # path: quickstart-ios/ - check_framework_firestore_symbols: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - 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: ${{ github.event.inputs.zip_run_id || github.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/ {} + - - uses: actions/checkout@v4 - - name: Check linked Firestore.xcframework for unlinked symbols. - run: | - scripts/check_firestore_symbols.sh \ - $(pwd) \ - "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework +# quickstart_framework_firestore: +# # needs: package-head +# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# SDK: "Firestore" +# strategy: +# matrix: +# artifact: [Firebase-actions-dir] +# build-env: +# - os: macos-15 +# xcode: Xcode_16.4 +# runs-on: ${{ matrix.build-env.os }} +# steps: +# - uses: actions/checkout@v4 +# - name: Get framework dir +# uses: actions/download-artifact@v4.1.7 +# with: +# name: ${{ matrix.artifact }} +# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} +# github-token: ${{ secrets.GITHUB_TOKEN }} +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer +# - name: Setup Bundler +# run: ./scripts/setup_bundler.sh +# - name: Move frameworks +# run: | +# mkdir -p "${HOME}"/ios_frameworks/ +# 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" 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/* +# - name: Upload build logs on failure +# if: ${{ failure() }} +# uses: actions/upload-artifact@v4 +# with: +# name: build_logs_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }} +# path: sdk_zip/build_logs/ +# - name: Install Secret GoogleService-Info.plist +# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \ +# quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret" +# - name: Test Quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") +# - name: Remove data before upload and zip directory to reduce upload size. +# if: always() +# run: scripts/remove_data.sh firestore; zip -r --symlinks quickstart_artifacts_firestore.zip quickstart-ios/ +# # - uses: actions/upload-artifact@v4 +# # if: ${{ failure() }} +# # with: +# # name: quickstart_artifacts_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }} +# # path: quickstart_artifacts_firestore.zip - quickstart_framework_inappmessaging: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "InAppMessaging" - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - runs-on: ${{ matrix.build-env.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - 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 \ - "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - - name: Setup swift quickstart - run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \ - quickstart-ios/inappmessaging/GoogleService-Info.plist "$plist_secret" - - name: Test Quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - - name: Test Swift Quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) - - name: Remove data before upload - if: ${{ failure() }} - run: scripts/remove_data.sh inappmessaging - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_inappmessaging - path: quickstart-ios/ +# # quickstart_framework_inappmessaging: +# # # needs: package-head +# # # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# # env: +# # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# # SDK: "InAppMessaging" +# # strategy: +# # matrix: +# # artifact: [Firebase-actions-dir] +# # build-env: +# # - os: macos-15 +# # xcode: Xcode_16.4 +# # runs-on: ${{ matrix.build-env.os }} +# # steps: +# # - uses: actions/checkout@v4 +# # - name: Get framework dir +# # uses: actions/download-artifact@v4.1.7 +# # with: +# # name: ${{ matrix.artifact }} +# # run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} +# # github-token: ${{ secrets.GITHUB_TOKEN }} +# # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# # - name: Xcode +# # run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer +# # - name: Setup Bundler +# # run: ./scripts/setup_bundler.sh +# # - name: Move frameworks +# # run: | +# # mkdir -p "${HOME}"/ios_frameworks/ +# # 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 \ +# # "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ +# # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* +# # - name: Setup swift quickstart +# # run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh +# # - name: Install Secret GoogleService-Info.plist +# # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \ +# # quickstart-ios/inappmessaging/GoogleService-Info.plist "$plist_secret" +# # - name: Test Quickstart +# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") +# # - name: Test Swift Quickstart +# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) +# # - name: Remove data before upload +# # if: always() +# # run: scripts/remove_data.sh inappmessaging +# # # - uses: actions/upload-artifact@v4 +# # # if: ${{ failure() }} +# # # with: +# # # name: quickstart_artifacts_inappmessaging +# # # path: quickstart-ios/ quickstart_framework_messaging: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# needs: package-head +# if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} SDK: "Messaging" strategy: matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + artifact: [Firebase-actions-dir] build-env: - os: macos-15 xcode: Xcode_16.4 @@ -559,7 +562,7 @@ jobs: uses: actions/download-artifact@v4.1.7 with: name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + run-id: 18517336809 # ${{ github.event.inputs.zip_run_id || github.run_id }} github-token: ${{ secrets.GITHUB_TOKEN }} - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - name: Xcode @@ -580,79 +583,67 @@ jobs: - name: Install Secret GoogleService-Info.plist run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \ quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret" - - name: Test Quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + # - name: Test Quickstart + # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - name: Test Swift Quickstart run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) - name: Remove data before upload - if: ${{ failure() }} + if: always() run: scripts/remove_data.sh messaging - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_messaging - path: quickstart-ios/ + # - uses: actions/upload-artifact@v4 + # if: ${{ failure() }} + # with: + # name: quickstart_artifacts_messaging + # path: quickstart-ios/ - quickstart_framework_storage: - needs: package-head - if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Storage" - strategy: - matrix: - artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] - build-env: - - os: macos-15 - xcode: Xcode_16.4 - runs-on: ${{ matrix.build-env.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4.1.7 - with: - name: ${{ matrix.artifact }} - run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: Setup Bundler - run: ./scripts/setup_bundler.sh - - name: Move frameworks - run: | - mkdir -p "${HOME}"/ios_frameworks/ - find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + - - uses: actions/checkout@v4 - - name: Setup quickstart - env: - LEGACY: true - run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - - name: Setup swift quickstart - env: - LEGACY: true - run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ - quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" - - name: Test Quickstart - env: - LEGACY: true - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - - name: Test Swift Quickstart - env: - LEGACY: true - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) - - name: Remove data before upload - env: - LEGACY: true - if: ${{ failure() }} - run: scripts/remove_data.sh storage - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_storage - path: quickstart-ios/ +# # # quickstart_framework_storage: +# # # # needs: package-head +# # # # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} +# # # env: +# # # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# # # SDK: "Storage" +# # # strategy: +# # # matrix: +# # # artifact: [Firebase-actions-dir] +# # # build-env: +# # # - os: macos-15 +# # # xcode: Xcode_16.4 +# # # runs-on: ${{ matrix.build-env.os }} +# # # steps: +# # # - uses: actions/checkout@v4 +# # # - name: Get framework dir +# # # uses: actions/download-artifact@v4.1.7 +# # # with: +# # # name: ${{ matrix.artifact }} +# # # run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} +# # # github-token: ${{ secrets.GITHUB_TOKEN }} +# # # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# # # - name: Xcode +# # # run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer +# # # - name: Setup Bundler +# # # run: ./scripts/setup_bundler.sh +# # # - name: Move frameworks +# # # run: | +# # # mkdir -p "${HOME}"/ios_frameworks/ +# # # 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 \ +# # # "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ +# # # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ +# # # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* +# # # - name: Setup swift quickstart +# # # run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh +# # # - name: Install Secret GoogleService-Info.plist +# # # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ +# # # quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" +# # # - name: Test Quickstart +# # # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") +# # # - name: Remove data before upload +# # # if: always() +# # # run: scripts/remove_data.sh storage +# # # # - uses: actions/upload-artifact@v4 +# # # # if: ${{ failure() }} +# # # # with: +# # # # name: quickstart_artifacts_storage +# # # # path: quickstart-ios/ \ No newline at end of file From d2f14533917ea4e1abe8b101ab226940ea9b8e5b Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 15 Oct 2025 11:46:17 -0400 Subject: [PATCH 2/7] syntax --- .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 9de32c39b38..b6f8ac8b55e 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -18,7 +18,7 @@ on: - '.github/workflows/zip.yml' - 'scripts/build_non_firebase_sdks.sh' - 'scripts/build_zip.sh' - - 'scripts/setup_quickstart_framework.sh'' + - 'scripts/setup_quickstart_framework.sh' - 'Gemfile*' # Don't run based on any markdown only changes. - '!ReleaseTooling/*.md' From a3d400cef601a051a556f59f31d293976432a8ac Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 15 Oct 2025 11:50:27 -0400 Subject: [PATCH 3/7] attempted fix --- .github/workflows/zip.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index b6f8ac8b55e..48d6632f146 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -349,10 +349,10 @@ jobs: # SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ # "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* -# - name: Add frameworks to Crashlytics watchOS target -# run: | -# cd quickstart-ios/crashlytics -# "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk "Crashlytics" --target "CrashlyticsExample_(watchOS)_Extension" --framework_path Firebase/ + # - name: Add frameworks to Crashlytics watchOS target + # run: | + # cd quickstart-ios/messaging + # "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk Messaging --target NotificationServiceExtension --framework_path Firebase/FirebaseMessaging.xcframework # - name: Patch Crashlytics Run Script Path # run: scripts/patch_crashlytics_run_path.rb # # TODO(#8057): Restore Swift Quickstart @@ -580,6 +580,10 @@ jobs: "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - name: Setup swift quickstart run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh + - name: Add frameworks to Crashlytics watchOS target + run: | + cd quickstart-ios/messaging + "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk Messaging --target NotificationServiceExtension --framework_path Firebase/FirebaseMessaging.xcframework - name: Install Secret GoogleService-Info.plist run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \ quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret" From 5d1bbe57625bc05b770d2d1b6ed24abf376a3d95 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 15 Oct 2025 12:25:37 -0400 Subject: [PATCH 4/7] Apply suggestion from @ncooke3 --- .github/workflows/zip.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 48d6632f146..05a20729dda 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -594,11 +594,11 @@ jobs: - name: Remove data before upload if: always() run: scripts/remove_data.sh messaging - # - uses: actions/upload-artifact@v4 - # if: ${{ failure() }} - # with: - # name: quickstart_artifacts_messaging - # path: quickstart-ios/ + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_messaging + path: quickstart-ios/ # # # quickstart_framework_storage: # # # # needs: package-head From 47a322a247c406fb03547539ea74736e4ffb41d6 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 15 Oct 2025 15:48:41 -0400 Subject: [PATCH 5/7] syntax --- .github/workflows/zip.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 05a20729dda..d1c19d39bbe 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -595,10 +595,10 @@ jobs: if: always() run: scripts/remove_data.sh messaging - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_messaging - path: quickstart-ios/ + if: ${{ failure() }} + with: + name: quickstart_artifacts_messaging + path: quickstart-ios/ # # # quickstart_framework_storage: # # # # needs: package-head From af0f976efb8fde38137140e1183ac94dddd093c1 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 15 Oct 2025 16:59:52 -0400 Subject: [PATCH 6/7] msg fix? --- .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 d1c19d39bbe..778efadf283 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -583,7 +583,7 @@ jobs: - name: Add frameworks to Crashlytics watchOS target run: | cd quickstart-ios/messaging - "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk Messaging --target NotificationServiceExtension --framework_path Firebase/FirebaseMessaging.xcframework + "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk Messaging --target NotificationServiceExtension --framework_path Firebase/ - name: Install Secret GoogleService-Info.plist run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \ quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret" From 8404ad9eea566116ece5534ccee2176744b878a2 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 15 Oct 2025 17:16:50 -0400 Subject: [PATCH 7/7] revert --- .github/workflows/zip.yml | 1113 +++++++++++++++++++------------------ 1 file changed, 561 insertions(+), 552 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 778efadf283..91666b92f35 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -1,16 +1,9 @@ name: zip -# TODO(ncooke3): Add FirebaseAI test. - permissions: actions: read contents: read -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: '18517336809' - on: pull_request: paths: @@ -44,514 +37,518 @@ concurrency: cancel-in-progress: true jobs: - # package-release: - # # Don't run on private repo. - # if: | - # false && - # github.repository == 'firebase/firebase-ios-sdk' && - # contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && - # github.event.inputs.zip_run_id == '' - # runs-on: macos-14 - # steps: - # - uses: actions/checkout@v4 - # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - # with: - # cache_key: package-release - # - name: Xcode 16.2 - # run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - # - name: Setup Bundler - # run: ./scripts/setup_bundler.sh - # - name: ZipBuildingTest - # run: | - # mkdir -p release_zip_dir - # sh -x scripts/build_zip.sh release_zip_dir \ - # "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git' }}" \ - # build-release \ - # static - # - uses: actions/upload-artifact@v4 - # with: - # name: Firebase-release-zip-zip - # # Zip the entire output directory since the builder adds subdirectories we don't know the - # # name of. - # path: release_zip_dir - - # build: - # # Don't run on private repo unless it is a PR. - # if: | - # false && - # github.repository == 'firebase/firebase-ios-sdk' && - # contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && - # github.event.inputs.zip_run_id == '' - # runs-on: macos-14 - # steps: - # - uses: actions/checkout@v4 - # - name: Xcode 16.2 - # run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - # - name: Build - # run: | - # cd ReleaseTooling - # swift build -v + package-release: + # Don't run on private repo. + if: | + github.repository == 'firebase/firebase-ios-sdk' && + contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && + github.event.inputs.zip_run_id == '' + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: package-release + - name: Xcode 16.2 + run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: ZipBuildingTest + run: | + mkdir -p release_zip_dir + sh -x scripts/build_zip.sh release_zip_dir \ + "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git' }}" \ + build-release \ + static + - uses: actions/upload-artifact@v4 + with: + name: Firebase-release-zip-zip + # Zip the entire output directory since the builder adds subdirectories we don't know the + # name of. + path: release_zip_dir - # package-head: - # needs: build - # strategy: - # matrix: - # linking_type: [static, dynamic] - # runs-on: macos-14 - # steps: - # - uses: actions/checkout@v4 - # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - # with: - # cache_key: package-head - # - name: Xcode 16.2 - # run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - # - name: Setup Bundler - # run: ./scripts/setup_bundler.sh - # - name: ZipBuildingTest - # run: | - # mkdir -p zip_output_dir - # sh -x scripts/build_zip.sh \ - # zip_output_dir "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git,https://github.com/firebase/SpecsDev.git' }}" \ - # build-head \ - # ${{ matrix.linking_type }} - # - uses: actions/upload-artifact@v4 - # if: ${{ always() }} - # with: - # name: ${{ matrix.linking_type == 'static' && 'Firebase-actions-dir' || 'Firebase-actions-dir-dynamic' }} - # # Zip the entire output directory since the builder adds subdirectories we don't know the - # # name of. - # path: zip_output_dir + build: + # Don't run on private repo unless it is a PR. + if: | + github.repository == 'firebase/firebase-ios-sdk' && + contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && + github.event.inputs.zip_run_id == '' + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + - name: Xcode 16.2 + run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + - name: Build + run: | + cd ReleaseTooling + swift build -v -# check_framework_firestore_symbols: -# # needs: package-head -# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# 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: 17965877651 # ${{ github.event.inputs.zip_run_id || github.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/ {} + -# - uses: actions/checkout@v4 -# - name: Check linked Firestore.xcframework for unlinked symbols. -# run: | -# scripts/check_firestore_symbols.sh \ -# $(pwd) \ -# "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework + package-head: + needs: build + strategy: + matrix: + linking_type: [static, dynamic] + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: package-head + - name: Xcode 16.2 + run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: ZipBuildingTest + run: | + mkdir -p zip_output_dir + sh -x scripts/build_zip.sh \ + zip_output_dir "${{ github.event.inputs.custom_spec_repos || 'https://github.com/firebase/SpecsStaging.git,https://github.com/firebase/SpecsDev.git' }}" \ + build-head \ + ${{ matrix.linking_type }} + - uses: actions/upload-artifact@v4 + if: ${{ always() }} + with: + name: ${{ matrix.linking_type == 'static' && 'Firebase-actions-dir' || 'Firebase-actions-dir-dynamic' }} + # Zip the entire output directory since the builder adds subdirectories we don't know the + # name of. + path: zip_output_dir -# quickstart_framework_abtesting: -# # needs: package-head -# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# env: -# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# SDK: "ABTesting" -# strategy: -# matrix: -# artifact: [Firebase-actions-dir] -# build-env: -# - os: macos-15 -# xcode: Xcode_16.4 -# runs-on: ${{ matrix.build-env.os }} -# steps: -# - uses: actions/checkout@v4 -# - name: Get framework dir -# uses: actions/download-artifact@v4.1.7 -# with: -# name: ${{ matrix.artifact }} -# run-id: ${{ github.event.inputs.zip_run_id || env.PINNED_RUN_ID || github.run_id }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer -# - name: Setup Bundler -# run: ./scripts/setup_bundler.sh -# - name: Move frameworks -# run: | -# mkdir -p "${HOME}"/ios_frameworks/ -# 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 \ -# "${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 -# - name: Install Secret GoogleService-Info.plist -# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \ -# quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret" -# - name: Test Quickstart -# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") -# - name: Remove data before upload -# if: always() -# run: scripts/remove_data.sh abtesting -# # - uses: actions/upload-artifact@v4 -# # if: ${{ failure() }} -# # with: -# # name: quickstart_artifacts_abtesting -# # path: quickstart-ios/ + quickstart_framework_abtesting: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "ABTesting" + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + runs-on: ${{ matrix.build-env.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: ${{ matrix.artifact }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + - uses: actions/checkout@v4 + - name: Setup quickstart + env: + LEGACY: true + run: SAMPLE="$SDK" TARGET="${SDK}Example" 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 + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-abtesting.plist.gpg \ + quickstart-ios/abtesting/GoogleService-Info.plist "$plist_secret" + - name: Test Quickstart + env: + LEGACY: true + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + - name: Remove data before upload + env: + LEGACY: true + if: ${{ failure() }} + run: scripts/remove_data.sh abtesting + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_abtesting + path: quickstart-ios/ -# quickstart_framework_auth: -# # needs: package-head -# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# env: -# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# SDK: "Authentication" -# strategy: -# matrix: -# os: [macos-15] -# artifact: [Firebase-actions-dir] -# include: -# - os: macos-15 -# xcode: Xcode_16.4 -# runs-on: ${{ matrix.os }} -# steps: -# - uses: actions/checkout@v4 -# - name: Get framework dir -# uses: actions/download-artifact@v4.1.7 -# with: -# name: ${{ matrix.artifact }} -# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer -# - name: Setup Bundler -# run: ./scripts/setup_bundler.sh -# - name: Move frameworks -# run: | -# mkdir -p "${HOME}"/ios_frameworks/ -# find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + -# - name: Setup Swift Quickstart -# run: SAMPLE="$SDK" TARGET="${SDK}Example" 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/* -# - name: Install Secret GoogleService-Info.plist -# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-authentication.plist.gpg \ -# quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret" -# - name: Test Swift Quickstart -# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") -# # TODO: Can this be reusable? -# - name: Remove data before upload -# if: always() -# run: scripts/remove_data.sh authentication -# - uses: actions/upload-artifact@v4 -# # if: ${{ failure() }} -# with: -# name: quickstart_artifacts_auth -# path: quickstart-ios/ + quickstart_framework_auth: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Authentication" + strategy: + matrix: + os: [macos-15] + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + include: + - os: macos-15 + xcode: Xcode_16.4 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: ${{ matrix.artifact }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + - name: Setup Swift Quickstart + run: SAMPLE="$SDK" TARGET="${SDK}Example" 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/* + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-authentication.plist.gpg \ + quickstart-ios/authentication/GoogleService-Info.plist "$plist_secret" + - name: Test Swift Quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + - name: Remove data before upload + if: ${{ failure() }} + run: scripts/remove_data.sh authentiation + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_auth + path: quickstart-ios/ -# quickstart_framework_config: -# # needs: package-head -# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# env: -# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# SDK: "Config" -# strategy: -# matrix: -# artifact: [Firebase-actions-dir] -# build-env: -# - os: macos-15 -# xcode: Xcode_16.4 -# runs-on: ${{ matrix.build-env.os }} -# steps: -# - uses: actions/checkout@v4 -# - name: Get framework dir -# uses: actions/download-artifact@v4.1.7 -# with: -# name: ${{ matrix.artifact }} -# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer -# - name: Setup Bundler -# run: ./scripts/setup_bundler.sh -# - name: Move frameworks -# run: | -# mkdir -p "${HOME}"/ios_frameworks/ -# find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + -# - name: Setup Swift Quickstart + quickstart_framework_config: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Config" + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + runs-on: ${{ matrix.build-env.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: ${{ matrix.artifact }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + - name: Setup Swift Quickstart -# run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ -# "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ -# "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* -# - name: Install Secret GoogleService-Info.plist -# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \ -# quickstart-ios/config/GoogleService-Info.plist "$plist_secret" -# - name: Test Swift Quickstart -# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") -# - name: Remove data before upload -# if: always() -# run: scripts/remove_data.sh config -# - uses: actions/upload-artifact@v4 -# if: ${{ failure() }} -# with: -# name: quickstart_artifacts_config -# path: quickstart-ios/ + run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-config.plist.gpg \ + quickstart-ios/config/GoogleService-Info.plist "$plist_secret" + - name: Test Swift Quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + - name: Remove data before upload + if: ${{ failure() }} + run: scripts/remove_data.sh config + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_config + path: quickstart-ios/ -# quickstart_framework_crashlytics: -# # needs: package-head -# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# env: -# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# SDK: "Crashlytics" -# strategy: -# matrix: -# artifact: [Firebase-actions-dir] -# build-env: -# - os: macos-15 -# xcode: Xcode_16.4 -# runs-on: ${{ matrix.build-env.os }} -# steps: -# - uses: actions/checkout@v4 -# - name: Get framework dir -# uses: actions/download-artifact@v4.1.7 -# with: -# name: ${{ matrix.artifact }} -# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer -# - name: Setup Bundler -# run: ./scripts/setup_bundler.sh -# - name: Move frameworks -# run: | -# mkdir -p "${HOME}"/ios_frameworks/ -# find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + -# - uses: actions/checkout@v4 -# - name: Setup quickstart -# run: | -# 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="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ -# "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ -# "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # - name: Add frameworks to Crashlytics watchOS target + quickstart_framework_crashlytics: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Crashlytics" + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + runs-on: ${{ matrix.build-env.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: ${{ matrix.artifact }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + - uses: actions/checkout@v4 + - name: Setup quickstart + env: + LEGACY: true + run: | + SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/run quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart + cp quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/Firebase/upload-symbols quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart + chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/run + chmod +x quickstart-ios/crashlytics/LegacyCrashlyticsQuickstart/upload-symbols + # TODO(#8057): Restore Swift Quickstart + # - name: Setup swift quickstart + # env: + # LEGACY: true # run: | - # cd quickstart-ios/messaging - # "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk Messaging --target NotificationServiceExtension --framework_path Firebase/FirebaseMessaging.xcframework -# - name: Patch Crashlytics Run Script Path -# run: scripts/patch_crashlytics_run_path.rb -# # TODO(#8057): Restore Swift Quickstart -# # - name: Setup swift quickstart -# # env: -# # LEGACY: true -# # run: | -# # SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="ReachabilitySwift" scripts/setup_quickstart_framework.sh \ -# # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* -# - name: Install Secret GoogleService-Info.plist -# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \ -# quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret" -# - name: Test Quickstart -# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") -# # TODO(#8057): Restore Swift Quickstart -# # - name: Test Swift Quickstart -# # env: -# # LEGACY: true -# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) -# - name: Remove data before upload -# if: always() -# run: scripts/remove_data.sh crashlytics -# - uses: actions/upload-artifact@v4 -# if: ${{ failure() }} -# with: -# name: quickstart_artifacts_crashlytics -# path: quickstart-ios/ + # SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" NON_FIREBASE_SDKS="ReachabilitySwift" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-crashlytics.plist.gpg \ + quickstart-ios/crashlytics/GoogleService-Info.plist "$plist_secret" + - name: Test Quickstart + env: + LEGACY: true + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + # TODO(#8057): Restore Swift Quickstart + # - name: Test Swift Quickstart + # env: + # LEGACY: true + # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) + - name: Remove data before upload + env: + LEGACY: true + if: ${{ failure() }} + run: scripts/remove_data.sh crashlytics + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_crashlytics + path: quickstart-ios/ + + quickstart_framework_database: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Database" + strategy: + matrix: + os: [macos-14] + xcode: [Xcode_16.2] + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: ${{ matrix.artifact }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + 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" 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/* + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \ + quickstart-ios/database/GoogleService-Info.plist "$plist_secret" + - name: Test Quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + - name: Remove data before upload + if: ${{ failure() }} + run: scripts/remove_data.sh database + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts database + path: quickstart-ios/ -# quickstart_framework_database: -# # needs: package-head -# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# env: -# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# SDK: "Database" -# strategy: -# matrix: -# os: [macos-14] -# xcode: [Xcode_16.2] -# artifact: [Firebase-actions-dir] -# runs-on: ${{ matrix.os }} -# steps: -# - uses: actions/checkout@v4 -# - name: Get framework dir -# uses: actions/download-artifact@v4.1.7 -# with: -# name: ${{ matrix.artifact }} -# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer -# - name: Setup Bundler -# run: ./scripts/setup_bundler.sh -# - name: Move frameworks -# run: | -# mkdir -p "${HOME}"/ios_frameworks/ -# 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" 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/* -# - name: Install Secret GoogleService-Info.plist -# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-database.plist.gpg \ -# quickstart-ios/database/GoogleService-Info.plist "$plist_secret" -# - name: Test Quickstart -# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") -# - name: Remove data before upload -# if: always() -# run: scripts/remove_data.sh database -# # - uses: actions/upload-artifact@v4 -# # if: ${{ failure() }} -# # with: -# # name: quickstart_artifacts database -# # path: quickstart-ios/ + quickstart_framework_firestore: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Firestore" + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + runs-on: ${{ matrix.build-env.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: ${{ matrix.artifact }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + 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" 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/* + - name: Upload build logs on failure + if: ${{ failure() }} + uses: actions/upload-artifact@v4 + with: + name: build_logs_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }} + path: sdk_zip/build_logs/ + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \ + quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret" + - name: Test Quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + - name: Remove data before upload and zip directory to reduce upload size. + if: ${{ failure() }} + run: scripts/remove_data.sh firestore; zip -r --symlinks quickstart_artifacts_firestore.zip quickstart-ios/ + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }} + path: quickstart_artifacts_firestore.zip -# quickstart_framework_firestore: -# # needs: package-head -# # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# env: -# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# SDK: "Firestore" -# strategy: -# matrix: -# artifact: [Firebase-actions-dir] -# build-env: -# - os: macos-15 -# xcode: Xcode_16.4 -# runs-on: ${{ matrix.build-env.os }} -# steps: -# - uses: actions/checkout@v4 -# - name: Get framework dir -# uses: actions/download-artifact@v4.1.7 -# with: -# name: ${{ matrix.artifact }} -# run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} -# github-token: ${{ secrets.GITHUB_TOKEN }} -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer -# - name: Setup Bundler -# run: ./scripts/setup_bundler.sh -# - name: Move frameworks -# run: | -# mkdir -p "${HOME}"/ios_frameworks/ -# 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" 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/* -# - name: Upload build logs on failure -# if: ${{ failure() }} -# uses: actions/upload-artifact@v4 -# with: -# name: build_logs_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }} -# path: sdk_zip/build_logs/ -# - name: Install Secret GoogleService-Info.plist -# run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \ -# quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret" -# - name: Test Quickstart -# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") -# - name: Remove data before upload and zip directory to reduce upload size. -# if: always() -# run: scripts/remove_data.sh firestore; zip -r --symlinks quickstart_artifacts_firestore.zip quickstart-ios/ -# # - uses: actions/upload-artifact@v4 -# # if: ${{ failure() }} -# # with: -# # name: quickstart_artifacts_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }} -# # path: quickstart_artifacts_firestore.zip + check_framework_firestore_symbols: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + 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: ${{ github.event.inputs.zip_run_id || github.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/ {} + + - uses: actions/checkout@v4 + - name: Check linked Firestore.xcframework for unlinked symbols. + run: | + scripts/check_firestore_symbols.sh \ + $(pwd) \ + "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework -# # quickstart_framework_inappmessaging: -# # # needs: package-head -# # # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# # env: -# # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# # SDK: "InAppMessaging" -# # strategy: -# # matrix: -# # artifact: [Firebase-actions-dir] -# # build-env: -# # - os: macos-15 -# # xcode: Xcode_16.4 -# # runs-on: ${{ matrix.build-env.os }} -# # steps: -# # - uses: actions/checkout@v4 -# # - name: Get framework dir -# # uses: actions/download-artifact@v4.1.7 -# # with: -# # name: ${{ matrix.artifact }} -# # run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} -# # github-token: ${{ secrets.GITHUB_TOKEN }} -# # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# # - name: Xcode -# # run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer -# # - name: Setup Bundler -# # run: ./scripts/setup_bundler.sh -# # - name: Move frameworks -# # run: | -# # mkdir -p "${HOME}"/ios_frameworks/ -# # 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 \ -# # "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ -# # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* -# # - name: Setup swift quickstart -# # run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh -# # - name: Install Secret GoogleService-Info.plist -# # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \ -# # quickstart-ios/inappmessaging/GoogleService-Info.plist "$plist_secret" -# # - name: Test Quickstart -# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") -# # - name: Test Swift Quickstart -# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) -# # - name: Remove data before upload -# # if: always() -# # run: scripts/remove_data.sh inappmessaging -# # # - uses: actions/upload-artifact@v4 -# # # if: ${{ failure() }} -# # # with: -# # # name: quickstart_artifacts_inappmessaging -# # # path: quickstart-ios/ + quickstart_framework_inappmessaging: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "InAppMessaging" + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + runs-on: ${{ matrix.build-env.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: ${{ matrix.artifact }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + 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 \ + "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Setup swift quickstart + run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-inappmessaging.plist.gpg \ + quickstart-ios/inappmessaging/GoogleService-Info.plist "$plist_secret" + - name: Test Quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + - name: Test Swift Quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) + - name: Remove data before upload + if: ${{ failure() }} + run: scripts/remove_data.sh inappmessaging + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_inappmessaging + path: quickstart-ios/ quickstart_framework_messaging: -# needs: package-head -# if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} SDK: "Messaging" strategy: matrix: - artifact: [Firebase-actions-dir] + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] build-env: - os: macos-15 xcode: Xcode_16.4 @@ -562,7 +559,7 @@ jobs: uses: actions/download-artifact@v4.1.7 with: name: ${{ matrix.artifact }} - run-id: 18517336809 # ${{ github.event.inputs.zip_run_id || github.run_id }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} github-token: ${{ secrets.GITHUB_TOKEN }} - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - name: Xcode @@ -587,12 +584,12 @@ jobs: - name: Install Secret GoogleService-Info.plist run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-messaging.plist.gpg \ quickstart-ios/messaging/GoogleService-Info.plist "$plist_secret" - # - name: Test Quickstart - # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + - name: Test Quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") - name: Test Swift Quickstart run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) - name: Remove data before upload - if: always() + if: ${{ failure() }} run: scripts/remove_data.sh messaging - uses: actions/upload-artifact@v4 if: ${{ failure() }} @@ -600,54 +597,66 @@ jobs: name: quickstart_artifacts_messaging path: quickstart-ios/ -# # # quickstart_framework_storage: -# # # # needs: package-head -# # # # if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} -# # # env: -# # # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# # # SDK: "Storage" -# # # strategy: -# # # matrix: -# # # artifact: [Firebase-actions-dir] -# # # build-env: -# # # - os: macos-15 -# # # xcode: Xcode_16.4 -# # # runs-on: ${{ matrix.build-env.os }} -# # # steps: -# # # - uses: actions/checkout@v4 -# # # - name: Get framework dir -# # # uses: actions/download-artifact@v4.1.7 -# # # with: -# # # name: ${{ matrix.artifact }} -# # # run-id: 17965877651 # ${{ github.event.inputs.zip_run_id || github.run_id }} -# # # github-token: ${{ secrets.GITHUB_TOKEN }} -# # # - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# # # - name: Xcode -# # # run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer -# # # - name: Setup Bundler -# # # run: ./scripts/setup_bundler.sh -# # # - name: Move frameworks -# # # run: | -# # # mkdir -p "${HOME}"/ios_frameworks/ -# # # 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 \ -# # # "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ -# # # "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ -# # # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* -# # # - name: Setup swift quickstart -# # # run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh -# # # - name: Install Secret GoogleService-Info.plist -# # # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ -# # # quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" -# # # - name: Test Quickstart -# # # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") -# # # - name: Remove data before upload -# # # if: always() -# # # run: scripts/remove_data.sh storage -# # # # - uses: actions/upload-artifact@v4 -# # # # if: ${{ failure() }} -# # # # with: -# # # # name: quickstart_artifacts_storage -# # # # path: quickstart-ios/ \ No newline at end of file + quickstart_framework_storage: + needs: package-head + if: ${{ !cancelled() && (success() || github.event.inputs.zip_run_id != '') }} + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Storage" + strategy: + matrix: + artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] + build-env: + - os: macos-15 + xcode: Xcode_16.4 + runs-on: ${{ matrix.build-env.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4.1.7 + with: + name: ${{ matrix.artifact }} + run-id: ${{ github.event.inputs.zip_run_id || github.run_id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: Setup Bundler + run: ./scripts/setup_bundler.sh + - name: Move frameworks + run: | + mkdir -p "${HOME}"/ios_frameworks/ + find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + + - uses: actions/checkout@v4 + - name: Setup quickstart + env: + LEGACY: true + run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Setup swift quickstart + env: + LEGACY: true + run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-storage.plist.gpg \ + quickstart-ios/storage/GoogleService-Info.plist "$plist_secret" + - name: Test Quickstart + env: + LEGACY: true + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}") + - name: Test Swift Quickstart + env: + LEGACY: true + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_framework.sh "${SDK}" swift) + - name: Remove data before upload + env: + LEGACY: true + if: ${{ failure() }} + run: scripts/remove_data.sh storage + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_storage + path: quickstart-ios/