chore(m174): Update versions for Release 12.8.0 #4127
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This workflow tests the zip distribution of the SDK. | |
| # There are three ways to configure the source of the zip file for testing: | |
| # 1. To iterate on a PR: Set the `PINNED_RUN_ID` environment variable in this | |
| # file to a successful zip packaging run. This is useful for avoiding | |
| # having to manually re-run the packaging jobs for each commit. | |
| # 2. For manual runs: Trigger the workflow via the [GitHub UI](https://github.com/firebase/firebase-ios-sdk/actions/workflows/zip.yml) | |
| # and provide a "Run ID of a previous successful zip workflow" in the input. | |
| # 3. By default (for scheduled and other PR runs): The workflow will build the | |
| # zip from the current commit (HEAD). | |
| name: zip | |
| # TODO(ncooke3): Also do Xcode 26 testing | |
| 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: '' | |
| on: | |
| pull_request: | |
| paths: | |
| - 'ReleaseTooling/Sources/**' | |
| - '.github/workflows/zip.yml' | |
| - '.github/workflows/common_quickstart_framework.yml' | |
| - 'scripts/build_non_firebase_sdks.sh' | |
| - 'scripts/build_zip.sh' | |
| - 'scripts/setup_quickstart_framework.sh' | |
| - 'Gemfile*' | |
| # Don't run based on any markdown only changes. | |
| - '!ReleaseTooling/*.md' | |
| schedule: | |
| # Run every day at 9pm (PDT) / 12am (EDT) - cron uses UTC times | |
| - cron: '0 4 * * *' | |
| workflow_dispatch: | |
| inputs: | |
| custom_spec_repos: | |
| description: 'Custom Podspec repos' | |
| required: true | |
| default: 'https://github.com/firebase/SpecsStaging.git' | |
| zip_run_id: | |
| # For example, in the below URL, `17335533279` is the run ID: | |
| # - https://github.com/firebase/firebase-ios-sdk/actions/runs/17335533279 | |
| description: 'Run ID of a previous successful zip workflow to use for quickstart testing' | |
| required: false | |
| default: '' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| should_package: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_package: ${{ steps.check.outputs.should_package }} | |
| steps: | |
| - name: Fail workflow if PINNED_RUN_ID is set on a schedule | |
| if: github.event_name == 'schedule' && env.PINNED_RUN_ID != '' | |
| run: | | |
| echo "ERROR: PINNED_RUN_ID is set for a scheduled run. Unset it to allow the workflow to proceed." | |
| exit 1 | |
| - name: Check if packaging should be skipped | |
| id: check | |
| run: | | |
| if [[ -n "${{ env.PINNED_RUN_ID }}" || -n "${{ github.event.inputs.zip_run_id }}" ]]; then | |
| echo "should_package=false" >> $GITHUB_OUTPUT | |
| else | |
| echo "should_package=true" >> $GITHUB_OUTPUT | |
| fi | |
| package-release: | |
| needs: should_package | |
| # Don't run on private repo. | |
| if: | | |
| github.repository == 'firebase/firebase-ios-sdk' && | |
| contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) && | |
| needs.should_package.outputs.should_package == 'true' | |
| 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: | |
| needs: should_package | |
| # 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) && | |
| needs.should_package.outputs.should_package == 'true' | |
| 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, should_package] | |
| if: needs.should_package.outputs.should_package == 'true' | |
| 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 | |
| packaging_done: | |
| runs-on: ubuntu-latest | |
| needs: [package-head] | |
| if: always() | |
| outputs: | |
| run_id: ${{ steps.get_run_id.outputs.run_id }} | |
| steps: | |
| - name: Check packaging result | |
| if: ${{ needs.package-head.result == 'failure' }} | |
| run: | | |
| echo "Packaging failed. Aborting." | |
| exit 1 | |
| - name: Get Run ID | |
| id: get_run_id | |
| run: | | |
| if [[ -n "${{ github.event.inputs.zip_run_id }}" ]]; then | |
| echo "run_id=${{ github.event.inputs.zip_run_id }}" >> $GITHUB_OUTPUT | |
| elif [[ -n "${{ env.PINNED_RUN_ID }}" ]]; then | |
| echo "run_id=${{ env.PINNED_RUN_ID }}" >> $GITHUB_OUTPUT | |
| else | |
| echo "run_id=${{ github.run_id }}" >> $GITHUB_OUTPUT | |
| fi | |
| check_framework_firestore_symbols: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| env: | |
| FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 | |
| runs-on: macos-14 | |
| steps: | |
| - name: Xcode 16.2 | |
| run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer | |
| - uses: actions/checkout@v4 | |
| - name: Get framework dir | |
| uses: actions/download-artifact@v4.1.7 | |
| with: | |
| name: Firebase-actions-dir | |
| run-id: ${{ needs.packaging_done.outputs.run_id }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 | |
| - name: Setup Bundler | |
| run: ./scripts/setup_bundler.sh | |
| - name: Install xcpretty | |
| run: gem install xcpretty | |
| - name: Move frameworks | |
| run: | | |
| mkdir -p "${HOME}"/ios_frameworks/ | |
| find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} + | |
| - name: Check linked Firestore.xcframework for unlinked symbols. | |
| run: | | |
| scripts/check_firestore_symbols.sh \ | |
| $(pwd) \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/FirebaseFirestoreInternal.xcframework | |
| quickstart_framework_abtesting: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| build-env: | |
| - os: macos-15 | |
| xcode: Xcode_16.4 | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "ABTesting" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| SAMPLE="ABTesting" TARGET="ABTestingExample" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCore.xcframework \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseCoreInternal.xcframework \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FBLPromises.xcframework \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseInstallations.xcframework \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleUtilities.xcframework | |
| plist_src_path: scripts/gha-encrypted/qs-abtesting.plist.gpg | |
| plist_dst_path: quickstart-ios/abtesting/GoogleService-Info.plist | |
| os: ${{ matrix.build-env.os }} | |
| xcode: ${{ matrix.build-env.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| quickstart_framework_auth: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| os: [macos-15] | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| include: | |
| - os: macos-15 | |
| xcode: Xcode_16.4 | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "Authentication" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| SAMPLE="Authentication" TARGET="AuthenticationExample" NON_FIREBASE_SDKS="FBSDKLoginKit FBSDKCoreKit FBSDKCoreKit_Basics FBAEMKit" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ | |
| "${HOME}"/ios_frameworks/Firebase/GoogleSignIn/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| plist_src_path: scripts/gha-encrypted/qs-authentication.plist.gpg | |
| plist_dst_path: quickstart-ios/authentication/GoogleService-Info.plist | |
| os: ${{ matrix.os }} | |
| xcode: ${{ matrix.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| quickstart_framework_config: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| build-env: | |
| - os: macos-15 | |
| xcode: Xcode_16.4 | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "Config" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| SAMPLE="Config" TARGET="ConfigExample" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseRemoteConfig/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| plist_src_path: scripts/gha-encrypted/qs-config.plist.gpg | |
| plist_dst_path: quickstart-ios/config/GoogleService-Info.plist | |
| os: ${{ matrix.build-env.os }} | |
| xcode: ${{ matrix.build-env.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| quickstart_framework_crashlytics: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| build-env: | |
| - os: macos-15 | |
| xcode: Xcode_16.4 | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "Crashlytics" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/FirebaseAnalytics* | |
| rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAppMeasurement* | |
| rm -rf "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/GoogleAds* | |
| SAMPLE="Crashlytics" TARGET="CrashlyticsExample" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseCrashlytics/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| cd quickstart-ios/crashlytics | |
| "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb --sdk "Crashlytics" \ | |
| --target "CrashlyticsExample_(watchOS)_Extension" \ | |
| --framework_path Firebase/ | |
| cd ../../ | |
| scripts/patch_crashlytics_run_path.rb | |
| plist_src_path: scripts/gha-encrypted/qs-crashlytics.plist.gpg | |
| plist_dst_path: quickstart-ios/crashlytics/GoogleService-Info.plist | |
| os: ${{ matrix.build-env.os }} | |
| xcode: ${{ matrix.build-env.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| quickstart_framework_database: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| os: [macos-14] | |
| xcode: [Xcode_16.2] | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "Database" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| SAMPLE="Database" TARGET="DatabaseExample" NON_FIREBASE_SDKS="FirebaseDatabaseUI" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseDatabase/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ | |
| "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| plist_src_path: scripts/gha-encrypted/qs-database.plist.gpg | |
| plist_dst_path: quickstart-ios/database/GoogleService-Info.plist | |
| os: ${{ matrix.os }} | |
| xcode: ${{ matrix.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| # TODO(ncooke3): Migrate to use shared workflow after fixing AI scheme names. | |
| quickstart_framework_firebaseai: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| env: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| SDK: "FirebaseAI" | |
| SWIFT_SUFFIX: " (iOS)" | |
| strategy: | |
| matrix: | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| build-env: | |
| - os: macos-15 | |
| xcode: Xcode_26.1 | |
| 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: ${{ needs.packaging_done.outputs.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/FirebaseAILogic/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| - name: Install Secret GoogleService-Info.plist | |
| run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/FirebaseAI/TestApp-GoogleService-Info.plist.gpg \ | |
| quickstart-ios/firebaseai/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 firebaseai | |
| - uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: quickstart_artifacts_firebaseai_${{ matrix.artifact }}_${{ matrix.build-env.os }} | |
| path: | | |
| quickstart-ios/ | |
| !quickstart-ios/**/GoogleService-Info.plist | |
| quickstart_framework_firestore: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| build-env: | |
| - os: macos-15 | |
| xcode: Xcode_16.4 | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "Firestore" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| SAMPLE="Firestore" TARGET="FirestoreExample" NON_FIREBASE_SDKS="SDWebImage FirebaseAuthUI FirebaseEmailAuthUI" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseFirestore/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| plist_src_path: scripts/gha-encrypted/qs-firestore.plist.gpg | |
| plist_dst_path: quickstart-ios/firestore/GoogleService-Info.plist | |
| os: ${{ matrix.build-env.os }} | |
| xcode: ${{ matrix.build-env.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| quickstart_framework_inappmessaging: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| build-env: | |
| - os: macos-15 | |
| xcode: Xcode_16.4 | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "InAppMessaging" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| SAMPLE="InAppMessaging" TARGET="InAppMessagingExample" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| plist_src_path: scripts/gha-encrypted/qs-inappmessaging.plist.gpg | |
| plist_dst_path: quickstart-ios/inappmessaging/GoogleService-Info.plist | |
| os: ${{ matrix.build-env.os }} | |
| xcode: ${{ matrix.build-env.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| quickstart_framework_messaging: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| build-env: | |
| - os: macos-15 | |
| xcode: Xcode_16.4 | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "Messaging" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| SAMPLE="Messaging" TARGET="MessagingExample" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| cd quickstart-ios/messaging | |
| "${GITHUB_WORKSPACE}"/quickstart-ios/scripts/add_framework_script.rb \ | |
| --sdk "Messaging" \ | |
| --target "NotificationServiceExtension" \ | |
| --framework_path Firebase/ | |
| plist_src_path: scripts/gha-encrypted/qs-messaging.plist.gpg | |
| plist_dst_path: quickstart-ios/messaging/GoogleService-Info.plist | |
| os: ${{ matrix.build-env.os }} | |
| xcode: ${{ matrix.build-env.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} | |
| quickstart_framework_storage: | |
| needs: packaging_done | |
| if: ${{ !cancelled() }} | |
| strategy: | |
| matrix: | |
| artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic] | |
| build-env: | |
| - os: macos-15 | |
| xcode: Xcode_16.4 | |
| uses: ./.github/workflows/common_quickstart_framework.yml | |
| with: | |
| product: "Storage" | |
| zip_run_id: ${{ needs.packaging_done.outputs.run_id }} | |
| artifact_name: ${{ matrix.artifact }} | |
| setup_command: | | |
| SAMPLE="Storage" TARGET="StorageExample" scripts/setup_quickstart_framework.sh \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseStorage/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \ | |
| "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* | |
| plist_src_path: scripts/gha-encrypted/qs-storage.plist.gpg | |
| plist_dst_path: quickstart-ios/storage/GoogleService-Info.plist | |
| os: ${{ matrix.build-env.os }} | |
| xcode: ${{ matrix.build-env.xcode }} | |
| secrets: | |
| plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} |