From 6945629c8749fbb7545bdf561c53ebdd16fe196a Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 9 Apr 2024 14:45:04 -0400 Subject: [PATCH 01/28] [Infra] Switch zip building over to Xcode 15.2 --- .github/workflows/zip.yml | 104 ++++++++++++++------------------------ 1 file changed, 37 insertions(+), 67 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 45578d33761..d2ca55d6766 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -28,14 +28,17 @@ jobs: package-release: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - runs-on: macos-12 + strategy: + matrix: + os: [macos-13, macos-13-arm64] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 with: cache_key: package-release - - name: Xcode 14.1 - run: sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -54,11 +57,11 @@ jobs: build: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - runs-on: macos-12 + runs-on: macos-13 steps: - uses: actions/checkout@v4 - - name: Xcode 14.1 - run: sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - name: Build run: | cd ReleaseTooling @@ -68,14 +71,17 @@ jobs: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' needs: build - runs-on: macos-12 + strategy: + matrix: + os: [macos-13, macos-13-arm64] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 with: cache_key: package-head - - name: Xcode 14.1 - run: sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -102,12 +108,8 @@ jobs: SDK: "ABTesting" strategy: matrix: - os: [macos-12, macos-13] - include: - - os: macos-12 - xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13, macos-13-arm64] + xcode: Xcode_15.2 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -163,12 +165,8 @@ jobs: SDK: "Authentication" strategy: matrix: - os: [macos-12, macos-13] - include: - - os: macos-12 - xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.2 + os: macos-13 + xcode: Xcode_15.2 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -216,12 +214,8 @@ jobs: SDK: "Config" strategy: matrix: - os: [macos-12, macos-13] - include: - - os: macos-12 - xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.2 + os: macos-13 + xcode: Xcode_15.2 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -267,12 +261,8 @@ jobs: SDK: "Crashlytics" strategy: matrix: - os: [macos-12, macos-13] - include: - - os: macos-12 - xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.2 + os: macos-13 + xcode: Xcode_15.2 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -341,10 +331,8 @@ jobs: SDK: "Database" strategy: matrix: - os: [macos-12] - include: - - os: macos-12 - xcode: Xcode_14.2 + os: macos-13 + xcode: Xcode_15.2 # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. # - os: macos-13 # xcode: Xcode_15.2 @@ -397,12 +385,8 @@ jobs: SDK: "DynamicLinks" strategy: matrix: - os: [macos-12, macos-13] - include: - - os: macos-12 - xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.2 + os: macos-13 + xcode: Xcode_15.2 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -456,10 +440,8 @@ jobs: SDK: "Firestore" strategy: matrix: - os: [macos-12] - include: - - os: macos-12 - xcode: Xcode_14.2 + os: macos-13 + xcode: Xcode_15.2 # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. # - os: macos-13 # xcode: Xcode_15.2 @@ -508,8 +490,8 @@ jobs: FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 runs-on: macos-13 steps: - - name: Xcode 14.1 - run: sudo xcode-select -s /Applications/Xcode_14.1.app/Contents/Developer + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - uses: actions/checkout@v4 - name: Get framework dir uses: actions/download-artifact@v4 @@ -541,12 +523,8 @@ jobs: SDK: "InAppMessaging" strategy: matrix: - os: [macos-12, macos-13] - include: - - os: macos-12 - xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.2 + os: macos-13 + xcode: Xcode_15.2 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -597,12 +575,8 @@ jobs: SDK: "Messaging" strategy: matrix: - os: [macos-12, macos-13] - include: - - os: macos-12 - xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.2 + os: macos-13 + xcode: Xcode_15.2 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -652,12 +626,8 @@ jobs: SDK: "Storage" strategy: matrix: - os: [macos-12, macos-13] - include: - - os: macos-12 - xcode: Xcode_14.2 - - os: macos-13 - xcode: Xcode_15.2 + os: macos-13 + xcode: Xcode_15.2 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From f098d2b287144871b4e8f8a5275be4f680c3c861 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 9 Apr 2024 14:50:24 -0400 Subject: [PATCH 02/28] Fix yml syntax --- .github/workflows/zip.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index d2ca55d6766..a340a797cd7 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -30,15 +30,16 @@ jobs: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' strategy: matrix: - os: [macos-13, macos-13-arm64] + os: macos-13 + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 with: cache_key: package-release - - name: Xcode 15.2 - run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -109,7 +110,7 @@ jobs: strategy: matrix: os: [macos-13, macos-13-arm64] - xcode: Xcode_15.2 + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From 24fb157dd9ed9bc4d774fc7d50ff277084ccea03 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Tue, 9 Apr 2024 14:54:02 -0400 Subject: [PATCH 03/28] Fix yml matrix syntax throughout --- .github/workflows/zip.yml | 46 ++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index a340a797cd7..c672faa5971 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -28,18 +28,14 @@ jobs: package-release: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - strategy: - matrix: - os: macos-13 - xcode: [Xcode_15.2] - runs-on: ${{ matrix.os }} + runs-on: macos-13 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 with: cache_key: package-release - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -166,8 +162,8 @@ jobs: SDK: "Authentication" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -215,8 +211,8 @@ jobs: SDK: "Config" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -262,8 +258,8 @@ jobs: SDK: "Crashlytics" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -332,8 +328,8 @@ jobs: SDK: "Database" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. # - os: macos-13 # xcode: Xcode_15.2 @@ -386,8 +382,8 @@ jobs: SDK: "DynamicLinks" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -441,8 +437,8 @@ jobs: SDK: "Firestore" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. # - os: macos-13 # xcode: Xcode_15.2 @@ -524,8 +520,8 @@ jobs: SDK: "InAppMessaging" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -576,8 +572,8 @@ jobs: SDK: "Messaging" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -627,8 +623,8 @@ jobs: SDK: "Storage" strategy: matrix: - os: macos-13 - xcode: Xcode_15.2 + os: [macos-13] + xcode: [Xcode_15.2] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From 3e42db3cc74c3d687e9beaa8ae24ea50ccf3885e Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Sat, 13 Apr 2024 09:22:19 -0400 Subject: [PATCH 04/28] Fix symlink issue when creating xcframework before Xcode 15.3 --- .../Sources/ZipBuilder/FrameworkBuilder.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift b/ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift index 1dd183e0c75..f8762e876f3 100755 --- a/ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift +++ b/ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift @@ -709,10 +709,13 @@ struct FrameworkBuilder { .appendingPathComponent(frameworkBuildName(name) + ".xcframework") // The arguments for the frameworks need to be separated. - var frameworkArgs: [String] = [] - for frameworkBuilt in frameworks { - frameworkArgs.append("-framework") - frameworkArgs.append(frameworkBuilt.path) + let frameworkArgs = frameworks.flatMap { + [ + "-framework", + // Xcode 15.0-15.2: Return the canonical path to work around issue + // https://forums.swift.org/t/67439 + try! $0.resourceValues(forKeys: [.canonicalPathKey]).canonicalPath!, + ] } let outputArgs = ["-output", xcframework.path] From 6739980ccd8ae605897bf582c78a272ba2ad3623 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Sat, 13 Apr 2024 09:28:21 -0400 Subject: [PATCH 05/28] Add changelog entry --- FirebaseCore/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/FirebaseCore/CHANGELOG.md b/FirebaseCore/CHANGELOG.md index a9808247ec5..eb787c338f4 100644 --- a/FirebaseCore/CHANGELOG.md +++ b/FirebaseCore/CHANGELOG.md @@ -1,3 +1,7 @@ +# Unreleased +- [changed] Firebase now requires at least Xcode 15.2. See + https://developer.apple.com/news/?id=fxu2qp7b for more info. + # Firebase 10.24.0 - Fix validation issue for macOS and macCatalyst XCFrameworks related to framework directory structure. (#12587) From 99b6423cd6c3aa186f7044c7b1c2de5e62f46b44 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Mon, 15 Apr 2024 10:54:41 -0400 Subject: [PATCH 06/28] Catch error --- .../Sources/ZipBuilder/FrameworkBuilder.swift | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift b/ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift index f8762e876f3..580f5ddbe45 100755 --- a/ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift +++ b/ReleaseTooling/Sources/ZipBuilder/FrameworkBuilder.swift @@ -709,13 +709,16 @@ struct FrameworkBuilder { .appendingPathComponent(frameworkBuildName(name) + ".xcframework") // The arguments for the frameworks need to be separated. - let frameworkArgs = frameworks.flatMap { - [ - "-framework", + let frameworkArgs = frameworks.flatMap { frameworkPath in + do { // Xcode 15.0-15.2: Return the canonical path to work around issue // https://forums.swift.org/t/67439 - try! $0.resourceValues(forKeys: [.canonicalPathKey]).canonicalPath!, - ] + let frameworkCanonicalPath = try frameworkPath.resourceValues(forKeys: [.canonicalPathKey]) + .canonicalPath! + return ["-framework", frameworkCanonicalPath] + } catch { + fatalError("Failed to get canonical path for \(frameworkPath): \(error)") + } } let outputArgs = ["-output", xcframework.path] From 2e58c411b547253b9d9771a75c130bc5badf65e9 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Mon, 15 Apr 2024 11:53:02 -0400 Subject: [PATCH 07/28] Don't build on arm macs --- .github/workflows/zip.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 82e32942c4b..3017ccb185d 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -68,10 +68,7 @@ jobs: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' needs: build - strategy: - matrix: - os: [macos-13, macos-13-arm64] - runs-on: ${{ matrix.os }} + runs-on: macos-13 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 From cc4088adced7550da46494171b008a5ce2137217 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Mon, 15 Apr 2024 12:25:01 -0400 Subject: [PATCH 08/28] Revert "Don't build on arm macs" This reverts commit 2e58c411b547253b9d9771a75c130bc5badf65e9. --- .github/workflows/zip.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 3017ccb185d..82e32942c4b 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -68,7 +68,10 @@ jobs: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' needs: build - runs-on: macos-13 + strategy: + matrix: + os: [macos-13, macos-13-arm64] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 From 83ff298490a180a16536328a2ad863bf8b372759 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Mon, 15 Apr 2024 12:25:50 -0400 Subject: [PATCH 09/28] Try macos14-arm --- .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 82e32942c4b..3b0831c7232 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -70,7 +70,7 @@ jobs: needs: build strategy: matrix: - os: [macos-13, macos-13-arm64] + os: [macos-13, macos-14-arm64] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From 63df007080b5c988769fca9536b9ea21e4a0b690 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Tue, 16 Apr 2024 10:27:22 -0400 Subject: [PATCH 10/28] plain macos-14 is arm --- .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 3b0831c7232..c64ee5a8e42 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -70,7 +70,7 @@ jobs: needs: build strategy: matrix: - os: [macos-13, macos-14-arm64] + os: [macos-13, macos-14] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From 7ccc76d76b23897a7a8f8b9b541fce1c96bec40a Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 17 Apr 2024 12:06:34 -0400 Subject: [PATCH 11/28] Shortcut test macos14 zip --- .github/workflows/zip.yml | 115 ++++++++++++-------------------------- 1 file changed, 35 insertions(+), 80 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index c64ee5a8e42..62773624c0a 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -25,80 +25,11 @@ concurrency: cancel-in-progress: true jobs: - package-release: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - runs-on: macos-13 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: package-release - - name: Xcode 15.2 - run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - - uses: ruby/setup-ruby@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' }}" - - 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' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - runs-on: macos-13 - steps: - - uses: actions/checkout@v4 - - name: Xcode 15.2 - run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - - name: Build - run: | - cd ReleaseTooling - swift build -v - - package-head: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: build - strategy: - matrix: - os: [macos-13, macos-14] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: package-head - - name: Xcode 15.2 - run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - - uses: ruby/setup-ruby@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 - - uses: actions/upload-artifact@v4 - with: - name: Firebase-actions-dir - # Zip the entire output directory since the builder adds subdirectories we don't know the - # name of. - path: zip_output_dir quickstart_framework_abtesting: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -118,6 +49,10 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -159,7 +94,7 @@ jobs: quickstart_framework_auth: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -179,6 +114,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -212,7 +149,7 @@ jobs: quickstart_framework_config: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -232,6 +169,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -263,7 +202,7 @@ jobs: quickstart_framework_crashlytics: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -283,6 +222,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -337,7 +278,7 @@ jobs: quickstart_framework_database: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -356,6 +297,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -391,7 +334,7 @@ jobs: quickstart_framework_dynamiclinks: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -411,6 +354,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -450,7 +395,7 @@ jobs: quickstart_framework_firestore: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -469,6 +414,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -502,7 +449,7 @@ jobs: check_framework_firestore_symbols: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 runs-on: macos-13 @@ -514,6 +461,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -533,7 +482,7 @@ jobs: quickstart_framework_inappmessaging: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -553,6 +502,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -589,7 +540,7 @@ jobs: quickstart_framework_messaging: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -609,6 +560,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -644,7 +597,7 @@ jobs: quickstart_framework_storage: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head + # needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -664,6 +617,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh From 1ba4536e506be3e77cfdbca4b5026ef0420643de Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 17 Apr 2024 12:08:48 -0400 Subject: [PATCH 12/28] Fix invalid syntax --- .github/workflows/zip.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 62773624c0a..30023fed5be 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -51,8 +51,6 @@ jobs: name: Firebase-actions-dir github-token: '${{ secrets.GITHUB_TOKEN }}' run-id: 8707424883 - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh From e0dfc4fa2960e434e29bf62fcbf93a80d3a18eee Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 17 Apr 2024 12:10:59 -0400 Subject: [PATCH 13/28] Fix invalid syntax (1) --- .github/workflows/zip.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 30023fed5be..366602ae881 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -459,8 +459,8 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 + github-token: '${{ secrets.GITHUB_TOKEN }}' + run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh From 7105e5f3e4938dc42ac796e46fb3fa5453cb7b74 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 15:29:00 -0400 Subject: [PATCH 14/28] wrokaround Xcode 15 resource issues --- scripts/build_non_firebase_sdks.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index d3544e10318..a66520de2cb 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -42,3 +42,16 @@ unzip -o "${REPO}"/sdk_zip/Frameworks.zip -d "${HOME}"/ios_frameworks/Firebase/ # Move Frameworks to Firebase dir, so be align with Firebase SDKs. mv -n "${HOME}"/ios_frameworks/Firebase/Binaries "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ + +for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do + if [ -d "$xcframework/Resources" ]; then + for framework_resource in "$xcframework/Resources"/*; do + for platform in "ios-arm64" "ios-arm64_x86_64-simulator"; do + framework="$xcframework/$platform/$(basename "$xcframework" .xcframework).framework" + if [ -d $framework ]; then + cp -rP $framework_resource $framework + fi + done + done + fi +done From 8e2de3ecfb35e80bea9b4ea5b3227d923c3332e7 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 15:53:32 -0400 Subject: [PATCH 15/28] Delete resources after copy --- scripts/build_non_firebase_sdks.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index a66520de2cb..df838b7d383 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -51,6 +51,7 @@ for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcfram if [ -d $framework ]; then cp -rP $framework_resource $framework fi + rm -rf $framework_resource done done fi From 8c51f9da474f8e51d4e278f2b7a4e3fa08a049da Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 16:16:07 -0400 Subject: [PATCH 16/28] Move delete --- scripts/build_non_firebase_sdks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index df838b7d383..e3cdfd98d9a 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -51,8 +51,8 @@ for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcfram if [ -d $framework ]; then cp -rP $framework_resource $framework fi - rm -rf $framework_resource done + rm -rf $framework_resource done fi done From 195aaa5950e1cae46731ce185ddde6bf3fefc8df Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 16:16:26 -0400 Subject: [PATCH 17/28] MAdd logging --- scripts/build_non_firebase_sdks.sh | 4 +++- scripts/move_non_firebase_sdks.sh | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100755 scripts/move_non_firebase_sdks.sh diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index e3cdfd98d9a..fa3a9b6a968 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -50,9 +50,11 @@ for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcfram framework="$xcframework/$platform/$(basename "$xcframework" .xcframework).framework" if [ -d $framework ]; then cp -rP $framework_resource $framework + echo "Copying $framework_resource to $framework" fi done rm -rf $framework_resource + echo "Removing $framework_resource" done - fi + fi done diff --git a/scripts/move_non_firebase_sdks.sh b/scripts/move_non_firebase_sdks.sh new file mode 100755 index 00000000000..c593649eb66 --- /dev/null +++ b/scripts/move_non_firebase_sdks.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do + if [ -d "$xcframework/Resources" ]; then + for framework_resource in "$xcframework/Resources"/*; do + for platform in "ios-arm64" "ios-arm64_x86_64-simulator"; do + framework="$xcframework/$platform/$(basename "$xcframework" .xcframework).framework" + if [ -d $framework ]; then + cp -rP $framework_resource $framework + fi + done + done + fi +done From ce646f4abf4ffba3f77a2569cbd2975875a6c23e Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 16:53:21 -0400 Subject: [PATCH 18/28] Debug --- scripts/build_non_firebase_sdks.sh | 1 + scripts/move_non_firebase_sdks.sh | 14 -------------- 2 files changed, 1 insertion(+), 14 deletions(-) delete mode 100755 scripts/move_non_firebase_sdks.sh diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index fa3a9b6a968..3129bbbf5e6 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -44,6 +44,7 @@ unzip -o "${REPO}"/sdk_zip/Frameworks.zip -d "${HOME}"/ios_frameworks/Firebase/ mv -n "${HOME}"/ios_frameworks/Firebase/Binaries "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do +echo "here" if [ -d "$xcframework/Resources" ]; then for framework_resource in "$xcframework/Resources"/*; do for platform in "ios-arm64" "ios-arm64_x86_64-simulator"; do diff --git a/scripts/move_non_firebase_sdks.sh b/scripts/move_non_firebase_sdks.sh deleted file mode 100755 index c593649eb66..00000000000 --- a/scripts/move_non_firebase_sdks.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do - if [ -d "$xcframework/Resources" ]; then - for framework_resource in "$xcframework/Resources"/*; do - for platform in "ios-arm64" "ios-arm64_x86_64-simulator"; do - framework="$xcframework/$platform/$(basename "$xcframework" .xcframework).framework" - if [ -d $framework ]; then - cp -rP $framework_resource $framework - fi - done - done - fi -done From 67016814a6a1fab6c98b2243fcd147c45805527c Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 16:54:14 -0400 Subject: [PATCH 19/28] debug workaround by only running FST --- .github/workflows/zip.yml | 1138 ++++++++++++++++++------------------- 1 file changed, 569 insertions(+), 569 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 366602ae881..7e6d36333f4 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -26,369 +26,369 @@ concurrency: jobs: - quickstart_framework_abtesting: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "ABTesting" - strategy: - matrix: - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - 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_abtesting: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "ABTesting" + # strategy: + # matrix: + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Authentication" - strategy: - matrix: - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - 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/FirebaseDynamicLinks/* \ - "${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-auth.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_auth: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "Authentication" + # strategy: + # matrix: + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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/FirebaseDynamicLinks/* \ + # "${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-auth.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: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Config" - strategy: - matrix: - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Setup Swift Quickstart + # quickstart_framework_config: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "Config" + # strategy: + # matrix: + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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: ${{ failure() }} - 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: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Crashlytics" - strategy: - matrix: - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - 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/ + # quickstart_framework_crashlytics: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "Crashlytics" + # strategy: + # matrix: + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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/ - quickstart_framework_database: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Database" - strategy: - matrix: - os: [macos-13] - xcode: [Xcode_15.2] - # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. - # - os: macos-13 - # xcode: Xcode_15.2 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - 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: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "Database" + # strategy: + # matrix: + # os: [macos-13] + # xcode: [Xcode_15.2] + # # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. + # # - os: macos-13 + # # xcode: Xcode_15.2 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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_dynamiclinks: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "DynamicLinks" - strategy: - matrix: - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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 Objc Quickstart - run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ - "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Setup Swift Quickstart - run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh - - name: Update Environment Variable For DynamicLinks - run: | - sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements - sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m - sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift - - name: Install Secret GoogleService-Info.plist - run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \ - quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret" - - name: Test Objc 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 dynamiclinks - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_dynamiclinks - path: quickstart-ios/ + # quickstart_framework_dynamiclinks: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "DynamicLinks" + # strategy: + # matrix: + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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 Objc Quickstart + # run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # - name: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - name: Setup Swift Quickstart + # run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh + # - name: Update Environment Variable For DynamicLinks + # run: | + # sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements + # sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m + # sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift + # - name: Install Secret GoogleService-Info.plist + # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \ + # quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret" + # - name: Test Objc 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 dynamiclinks + # - uses: actions/upload-artifact@v4 + # if: ${{ failure() }} + # with: + # name: quickstart_artifacts_dynamiclinks + # path: quickstart-ios/ quickstart_framework_firestore: # Don't run on private repo. @@ -444,218 +444,218 @@ jobs: name: quickstart_artifacts_firestore path: quickstart-ios/ - check_framework_firestore_symbols: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 - runs-on: macos-13 - steps: - - name: Xcode 15.2 - run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@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 + # check_framework_firestore_symbols: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 + # runs-on: macos-13 + # steps: + # - name: Xcode 15.2 + # run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@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: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "InAppMessaging" - strategy: - matrix: - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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/FirebaseDynamicLinks/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - 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: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "InAppMessaging" + # strategy: + # matrix: + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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/FirebaseDynamicLinks/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # - name: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Messaging" - strategy: - matrix: - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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/FirebaseMessaging/* \ - "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - 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-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 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 messaging - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_messaging - path: quickstart-ios/ + # quickstart_framework_messaging: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "Messaging" + # strategy: + # matrix: + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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/FirebaseMessaging/* \ + # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + # - name: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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-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 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 messaging + # - uses: actions/upload-artifact@v4 + # if: ${{ failure() }} + # with: + # name: quickstart_artifacts_messaging + # path: quickstart-ios/ - quickstart_framework_storage: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Storage" - strategy: - matrix: - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - - uses: ruby/setup-ruby@v1 - - 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: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - 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: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "Storage" + # strategy: + # matrix: + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # github-token: '${{ secrets.GITHUB_TOKEN }}' + # run-id: 8707424883 + # - uses: ruby/setup-ruby@v1 + # - 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: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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/ From 337abdb950d92b59e0fdd5883a15eb28637b8fe7 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 16:54:57 -0400 Subject: [PATCH 20/28] Disable Firebase core tests --- .github/workflows/core.yml | 164 ++++++++++++++++++------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index 5df6aad888a..08cac9184c8 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -15,90 +15,90 @@ concurrency: cancel-in-progress: true jobs: - pod-lib-lint: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - strategy: - matrix: - # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 - target: [ios, tvos, macos --skip-tests, watchos] - os: [macos-14, macos-13] - include: - - os: macos-14 - xcode: Xcode_15.3 - - os: macos-13 - xcode: Xcode_15.2 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Build and test - run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} + # pod-lib-lint: + # # Don't run on private repo unless it is a PR. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' + # strategy: + # matrix: + # # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 + # target: [ios, tvos, macos --skip-tests, watchos] + # os: [macos-14, macos-13] + # include: + # - os: macos-14 + # xcode: Xcode_15.3 + # - os: macos-13 + # xcode: Xcode_15.2 + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - uses: ruby/setup-ruby@v1 + # - name: Setup Bundler + # run: scripts/setup_bundler.sh + # - name: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - name: Build and test + # run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} - spm: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - strategy: - matrix: - target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-13, macos-14] - include: - - os: macos-13 - xcode: Xcode_15.2 - - os: macos-14 - xcode: Xcode_15.3 - - os: macos-14 - xcode: Xcode_15.3 - target: visionOS - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: spm${{ matrix.os }}-${{ matrix.xcode }}-${{ matrix.target }} - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Initialize xcodebuild - run: scripts/setup_spm_tests.sh - - name: Unit Tests - run: scripts/third_party/travis/retry.sh ./scripts/build.sh CoreUnit ${{ matrix.target }} spm + # spm: + # # Don't run on private repo unless it is a PR. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' + # strategy: + # matrix: + # target: [iOS, tvOS, macOS, catalyst, watchOS] + # os: [macos-13, macos-14] + # include: + # - os: macos-13 + # xcode: Xcode_15.2 + # - os: macos-14 + # xcode: Xcode_15.3 + # - os: macos-14 + # xcode: Xcode_15.3 + # target: visionOS + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + # with: + # cache_key: spm${{ matrix.os }}-${{ matrix.xcode }}-${{ matrix.target }} + # - name: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - name: Initialize xcodebuild + # run: scripts/setup_spm_tests.sh + # - name: Unit Tests + # run: scripts/third_party/travis/retry.sh ./scripts/build.sh CoreUnit ${{ matrix.target }} spm - catalyst: - # Don't run on private repo unless it is a PR. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' + # catalyst: + # # Don't run on private repo unless it is a PR. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-13 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: ${{ matrix.os }} - - uses: ruby/setup-ruby@v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Setup project and Build Catalyst - run: scripts/test_catalyst.sh FirebaseCore test FirebaseCore-Unit-unit + # runs-on: macos-13 + # steps: + # - uses: actions/checkout@v4 + # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + # with: + # cache_key: ${{ matrix.os }} + # - uses: ruby/setup-ruby@v1 + # - name: Setup Bundler + # run: scripts/setup_bundler.sh + # - name: Setup project and Build Catalyst + # run: scripts/test_catalyst.sh FirebaseCore test FirebaseCore-Unit-unit - core-cron-only: - # Don't run on private repo. - if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' + # core-cron-only: + # # Don't run on private repo. + # if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-13 - strategy: - matrix: - target: [ios, tvos, macos] - flags: [ - '--use-static-frameworks' - ] - needs: pod-lib-lint - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: PodLibLint Core Cron - run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} + # runs-on: macos-13 + # strategy: + # matrix: + # target: [ios, tvos, macos] + # flags: [ + # '--use-static-frameworks' + # ] + # needs: pod-lib-lint + # steps: + # - uses: actions/checkout@v4 + # - uses: ruby/setup-ruby@v1 + # - name: Setup Bundler + # run: scripts/setup_bundler.sh + # - name: PodLibLint Core Cron + # run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} From 2f3de81313d86950d335f92f0ab1ec6ab0e42637 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 17:14:47 -0400 Subject: [PATCH 21/28] Debug workaround one last time --- scripts/build_non_firebase_sdks.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index 3129bbbf5e6..8402171018a 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -44,12 +44,16 @@ unzip -o "${REPO}"/sdk_zip/Frameworks.zip -d "${HOME}"/ios_frameworks/Firebase/ mv -n "${HOME}"/ios_frameworks/Firebase/Binaries "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do -echo "here" + echo "checkpoint 1" if [ -d "$xcframework/Resources" ]; then + echo "checkpoint 2" for framework_resource in "$xcframework/Resources"/*; do + echo "checkpoint 3" for platform in "ios-arm64" "ios-arm64_x86_64-simulator"; do + echo "checkpoint 4" framework="$xcframework/$platform/$(basename "$xcframework" .xcframework).framework" if [ -d $framework ]; then + echo "checkpoint 5" cp -rP $framework_resource $framework echo "Copying $framework_resource to $framework" fi From 7da0ca4e8f173d4b5f9b8f2a5c2f612edd12db5d Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 17:44:37 -0400 Subject: [PATCH 22/28] try printig file structure --- scripts/build_non_firebase_sdks.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index 8402171018a..0e73e32a44c 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -43,6 +43,8 @@ unzip -o "${REPO}"/sdk_zip/Frameworks.zip -d "${HOME}"/ios_frameworks/Firebase/ # Move Frameworks to Firebase dir, so be align with Firebase SDKs. mv -n "${HOME}"/ios_frameworks/Firebase/Binaries "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ +tree -L 3 "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ + for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do echo "checkpoint 1" if [ -d "$xcframework/Resources" ]; then From ced882fc8e2a50f199dc2ea30124215991dd3587 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 18:10:42 -0400 Subject: [PATCH 23/28] last attempt --- scripts/build_non_firebase_sdks.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index 0e73e32a44c..96c6f8378a6 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -43,9 +43,9 @@ unzip -o "${REPO}"/sdk_zip/Frameworks.zip -d "${HOME}"/ios_frameworks/Firebase/ # Move Frameworks to Firebase dir, so be align with Firebase SDKs. mv -n "${HOME}"/ios_frameworks/Firebase/Binaries "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ -tree -L 3 "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ - for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do + echo $xcframework + ls $xcframework echo "checkpoint 1" if [ -d "$xcframework/Resources" ]; then echo "checkpoint 2" From 97cb7f66e23600f0f2d56f964596837dd35ee2c0 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 19:31:24 -0400 Subject: [PATCH 24/28] debug after local download --- scripts/build_non_firebase_sdks.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index 96c6f8378a6..6878a1243ca 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -44,8 +44,7 @@ unzip -o "${REPO}"/sdk_zip/Frameworks.zip -d "${HOME}"/ios_frameworks/Firebase/ mv -n "${HOME}"/ios_frameworks/Firebase/Binaries "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do - echo $xcframework - ls $xcframework + ls "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' echo "checkpoint 1" if [ -d "$xcframework/Resources" ]; then echo "checkpoint 2" From 85892fa2978d0a61ad31b823ab1742ae196df700 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 19:54:26 -0400 Subject: [PATCH 25/28] try different approach --- scripts/build_non_firebase_sdks.sh | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index 6878a1243ca..1d61d1b30f2 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -40,12 +40,35 @@ swift run zip-builder --keep-build-artifacts --update-pod-repo --platforms ios \ unzip -o "${REPO}"/sdk_zip/Frameworks.zip -d "${HOME}"/ios_frameworks/Firebase/ +for xcframework in "${HOME}"/ios_frameworks/Firebase/Binaries/*.xcframework; do + echo $(ls "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs) + echo "checkpoint 1A" + if [ -d "$xcframework/Resources" ]; then + echo "checkpoint 2" + for framework_resource in "$xcframework/Resources"/*; do + echo "checkpoint 3" + for platform in "ios-arm64" "ios-arm64_x86_64-simulator"; do + echo "checkpoint 4" + framework="$xcframework/$platform/$(basename "$xcframework" .xcframework).framework" + if [ -d $framework ]; then + echo "checkpoint 5" + cp -rP $framework_resource $framework + echo "Copying $framework_resource to $framework" + fi + done + rm -rf $framework_resource + echo "Removing $framework_resource" + done + fi +done + + # Move Frameworks to Firebase dir, so be align with Firebase SDKs. mv -n "${HOME}"/ios_frameworks/Firebase/Binaries "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ -for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/**/*.xcframework; do - ls "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' - echo "checkpoint 1" +for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/Binaries/*.xcframework; do + ls "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs + echo "checkpoint 1B" if [ -d "$xcframework/Resources" ]; then echo "checkpoint 2" for framework_resource in "$xcframework/Resources"/*; do From 86de133b8d7b296854f1c48467706bf5708713de Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 20:49:40 -0400 Subject: [PATCH 26/28] getting closer? --- scripts/setup_quickstart_framework.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/setup_quickstart_framework.sh b/scripts/setup_quickstart_framework.sh index 51499ab6efa..612895f8b7a 100755 --- a/scripts/setup_quickstart_framework.sh +++ b/scripts/setup_quickstart_framework.sh @@ -54,8 +54,8 @@ if [[ "${SAMPLE}" == "Authentication" ]]; then fi if [[ "${SAMPLE}" == "Firestore" ]]; then - "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/FirebaseAuthUI.xcframework/Resources/FirebaseAuthUI.bundle - "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/FirebaseEmailAuthUI.xcframework/Resources/FirebaseEmailAuthUI.bundle + "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/FirebaseAuthUI.xcframework/ios-arm64/FirebaseAuthUI.framework/FirebaseAuthUI.bundle + "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/FirebaseEmailAuthUI.xcframework/ios-arm64/FirebaseAuthUI.framework/FirebaseEmailAuthUI.bundle fi "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/ From 13dd16e560703b14d9d6809ed3c17e7743e6adce Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 21:09:22 -0400 Subject: [PATCH 27/28] Revert all debugging code --- .github/workflows/core.yml | 164 ++-- .github/workflows/zip.yml | 1191 +++++++++++++------------ scripts/build_non_firebase_sdks.sh | 45 - scripts/setup_quickstart_framework.sh | 4 +- 4 files changed, 703 insertions(+), 701 deletions(-) diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index 08cac9184c8..5df6aad888a 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -15,90 +15,90 @@ concurrency: cancel-in-progress: true jobs: - # pod-lib-lint: - # # Don't run on private repo unless it is a PR. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - # strategy: - # matrix: - # # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 - # target: [ios, tvos, macos --skip-tests, watchos] - # os: [macos-14, macos-13] - # include: - # - os: macos-14 - # xcode: Xcode_15.3 - # - os: macos-13 - # xcode: Xcode_15.2 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - uses: ruby/setup-ruby@v1 - # - name: Setup Bundler - # run: scripts/setup_bundler.sh - # - name: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - name: Build and test - # run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} + pod-lib-lint: + # Don't run on private repo unless it is a PR. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' + strategy: + matrix: + # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 + target: [ios, tvos, macos --skip-tests, watchos] + os: [macos-14, macos-13] + include: + - os: macos-14 + xcode: Xcode_15.3 + - os: macos-13 + xcode: Xcode_15.2 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Build and test + run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} - # spm: - # # Don't run on private repo unless it is a PR. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - # strategy: - # matrix: - # target: [iOS, tvOS, macOS, catalyst, watchOS] - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # - os: macos-14 - # xcode: Xcode_15.3 - # target: visionOS - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - # with: - # cache_key: spm${{ matrix.os }}-${{ matrix.xcode }}-${{ matrix.target }} - # - name: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - name: Initialize xcodebuild - # run: scripts/setup_spm_tests.sh - # - name: Unit Tests - # run: scripts/third_party/travis/retry.sh ./scripts/build.sh CoreUnit ${{ matrix.target }} spm + spm: + # Don't run on private repo unless it is a PR. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' + strategy: + matrix: + target: [iOS, tvOS, macOS, catalyst, watchOS] + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + - os: macos-14 + xcode: Xcode_15.3 + target: visionOS + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: spm${{ matrix.os }}-${{ matrix.xcode }}-${{ matrix.target }} + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Initialize xcodebuild + run: scripts/setup_spm_tests.sh + - name: Unit Tests + run: scripts/third_party/travis/retry.sh ./scripts/build.sh CoreUnit ${{ matrix.target }} spm - # catalyst: - # # Don't run on private repo unless it is a PR. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' + catalyst: + # Don't run on private repo unless it is a PR. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - # runs-on: macos-13 - # steps: - # - uses: actions/checkout@v4 - # - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - # with: - # cache_key: ${{ matrix.os }} - # - uses: ruby/setup-ruby@v1 - # - name: Setup Bundler - # run: scripts/setup_bundler.sh - # - name: Setup project and Build Catalyst - # run: scripts/test_catalyst.sh FirebaseCore test FirebaseCore-Unit-unit + runs-on: macos-13 + steps: + - uses: actions/checkout@v4 + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: ${{ matrix.os }} + - uses: ruby/setup-ruby@v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Setup project and Build Catalyst + run: scripts/test_catalyst.sh FirebaseCore test FirebaseCore-Unit-unit - # core-cron-only: - # # Don't run on private repo. - # if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' + core-cron-only: + # Don't run on private repo. + if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - # runs-on: macos-13 - # strategy: - # matrix: - # target: [ios, tvos, macos] - # flags: [ - # '--use-static-frameworks' - # ] - # needs: pod-lib-lint - # steps: - # - uses: actions/checkout@v4 - # - uses: ruby/setup-ruby@v1 - # - name: Setup Bundler - # run: scripts/setup_bundler.sh - # - name: PodLibLint Core Cron - # run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} + runs-on: macos-13 + strategy: + matrix: + target: [ios, tvos, macos] + flags: [ + '--use-static-frameworks' + ] + needs: pod-lib-lint + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: PodLibLint Core Cron + run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCore.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }} diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 7e6d36333f4..c64ee5a8e42 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -25,375 +25,432 @@ concurrency: cancel-in-progress: true jobs: + package-release: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + runs-on: macos-13 + steps: + - uses: actions/checkout@v4 + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: package-release + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer + - uses: ruby/setup-ruby@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' }}" + - 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 - # quickstart_framework_abtesting: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "ABTesting" - # strategy: - # matrix: - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - 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/ + build: + # Don't run on private repo unless it is a PR. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + runs-on: macos-13 + steps: + - uses: actions/checkout@v4 + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer + - name: Build + run: | + cd ReleaseTooling + swift build -v - # quickstart_framework_auth: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "Authentication" - # strategy: - # matrix: - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - 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/FirebaseDynamicLinks/* \ - # "${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-auth.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/ + package-head: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: build + strategy: + matrix: + os: [macos-13, macos-14] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: package-head + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer + - uses: ruby/setup-ruby@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 + - uses: actions/upload-artifact@v4 + with: + name: Firebase-actions-dir + # Zip the entire output directory since the builder adds subdirectories we don't know the + # name of. + path: zip_output_dir - # quickstart_framework_config: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "Config" - # strategy: - # matrix: - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - name: Setup Swift Quickstart + quickstart_framework_abtesting: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "ABTesting" + strategy: + matrix: + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - 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/ - # 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_auth: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Authentication" + strategy: + matrix: + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - 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/FirebaseDynamicLinks/* \ + "${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-auth.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: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Config" + strategy: + matrix: + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Setup Swift Quickstart - # quickstart_framework_crashlytics: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "Crashlytics" - # strategy: - # matrix: - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - 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: ${{ 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: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Crashlytics" + strategy: + matrix: + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - 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/ - # quickstart_framework_database: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "Database" - # strategy: - # matrix: - # os: [macos-13] - # xcode: [Xcode_15.2] - # # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. - # # - os: macos-13 - # # xcode: Xcode_15.2 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - 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: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Database" + strategy: + matrix: + os: [macos-13] + xcode: [Xcode_15.2] + # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. + # - os: macos-13 + # xcode: Xcode_15.2 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - 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_dynamiclinks: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "DynamicLinks" - # strategy: - # matrix: - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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 Objc Quickstart - # run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # - name: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - name: Setup Swift Quickstart - # run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh - # - name: Update Environment Variable For DynamicLinks - # run: | - # sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements - # sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m - # sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift - # - name: Install Secret GoogleService-Info.plist - # run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \ - # quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret" - # - name: Test Objc 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 dynamiclinks - # - uses: actions/upload-artifact@v4 - # if: ${{ failure() }} - # with: - # name: quickstart_artifacts_dynamiclinks - # path: quickstart-ios/ + quickstart_framework_dynamiclinks: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "DynamicLinks" + strategy: + matrix: + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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 Objc Quickstart + run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \ + "${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Setup Swift Quickstart + run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh + - name: Update Environment Variable For DynamicLinks + run: | + sed -i '' 's#DYNAMIC_LINK_DOMAIN#https://qpf6m.app.goo.gl#' quickstart-ios/dynamiclinks/DynamicLinksExample/DynamicLinksExample.entitlements + sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExample/ViewController.m + sed -i '' 's#YOUR_DOMAIN_URI_PREFIX";#https://qpf6m.app.goo.gl";#' quickstart-ios/dynamiclinks/DynamicLinksExampleSwift/ViewController.swift + - name: Install Secret GoogleService-Info.plist + run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-dynamiclinks.plist.gpg \ + quickstart-ios/dynamiclinks/GoogleService-Info.plist "$plist_secret" + - name: Test Objc 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 dynamiclinks + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_dynamiclinks + path: quickstart-ios/ quickstart_framework_firestore: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # needs: package-head + needs: package-head env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} @@ -412,8 +469,6 @@ jobs: uses: actions/download-artifact@v4 with: name: Firebase-actions-dir - github-token: '${{ secrets.GITHUB_TOKEN }}' - run-id: 8707424883 - uses: ruby/setup-ruby@v1 - name: Setup Bundler run: ./scripts/setup_bundler.sh @@ -444,218 +499,210 @@ jobs: name: quickstart_artifacts_firestore path: quickstart-ios/ - # check_framework_firestore_symbols: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 - # runs-on: macos-13 - # steps: - # - name: Xcode 15.2 - # run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@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 + check_framework_firestore_symbols: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 + runs-on: macos-13 + steps: + - name: Xcode 15.2 + run: sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@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: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "InAppMessaging" - # strategy: - # matrix: - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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/FirebaseDynamicLinks/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # - name: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - 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: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "InAppMessaging" + strategy: + matrix: + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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/FirebaseDynamicLinks/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - 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: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "Messaging" - # strategy: - # matrix: - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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/FirebaseMessaging/* \ - # "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* - # - name: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - 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-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 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 messaging - # - uses: actions/upload-artifact@v4 - # if: ${{ failure() }} - # with: - # name: quickstart_artifacts_messaging - # path: quickstart-ios/ + quickstart_framework_messaging: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Messaging" + strategy: + matrix: + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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/FirebaseMessaging/* \ + "${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - 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-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 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 messaging + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: quickstart_artifacts_messaging + path: quickstart-ios/ - # quickstart_framework_storage: - # # Don't run on private repo. - # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - # # needs: package-head - # env: - # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # SDK: "Storage" - # strategy: - # matrix: - # os: [macos-13, macos-14] - # include: - # - os: macos-13 - # xcode: Xcode_15.2 - # - os: macos-14 - # xcode: Xcode_15.3 - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v4 - # - name: Get framework dir - # uses: actions/download-artifact@v4 - # with: - # name: Firebase-actions-dir - # github-token: '${{ secrets.GITHUB_TOKEN }}' - # run-id: 8707424883 - # - uses: ruby/setup-ruby@v1 - # - 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: Xcode - # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - # - 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: + # Don't run on private repo. + if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + needs: package-head + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + SDK: "Storage" + strategy: + matrix: + os: [macos-13, macos-14] + include: + - os: macos-13 + xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Get framework dir + uses: actions/download-artifact@v4 + with: + name: Firebase-actions-dir + - uses: ruby/setup-ruby@v1 + - 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: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - 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/ diff --git a/scripts/build_non_firebase_sdks.sh b/scripts/build_non_firebase_sdks.sh index 1d61d1b30f2..d3544e10318 100755 --- a/scripts/build_non_firebase_sdks.sh +++ b/scripts/build_non_firebase_sdks.sh @@ -40,50 +40,5 @@ swift run zip-builder --keep-build-artifacts --update-pod-repo --platforms ios \ unzip -o "${REPO}"/sdk_zip/Frameworks.zip -d "${HOME}"/ios_frameworks/Firebase/ -for xcframework in "${HOME}"/ios_frameworks/Firebase/Binaries/*.xcframework; do - echo $(ls "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs) - echo "checkpoint 1A" - if [ -d "$xcframework/Resources" ]; then - echo "checkpoint 2" - for framework_resource in "$xcframework/Resources"/*; do - echo "checkpoint 3" - for platform in "ios-arm64" "ios-arm64_x86_64-simulator"; do - echo "checkpoint 4" - framework="$xcframework/$platform/$(basename "$xcframework" .xcframework).framework" - if [ -d $framework ]; then - echo "checkpoint 5" - cp -rP $framework_resource $framework - echo "Copying $framework_resource to $framework" - fi - done - rm -rf $framework_resource - echo "Removing $framework_resource" - done - fi -done - - # Move Frameworks to Firebase dir, so be align with Firebase SDKs. mv -n "${HOME}"/ios_frameworks/Firebase/Binaries "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/ - -for xcframework in "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs/Binaries/*.xcframework; do - ls "${HOME}"/ios_frameworks/Firebase/NonFirebaseSDKs - echo "checkpoint 1B" - if [ -d "$xcframework/Resources" ]; then - echo "checkpoint 2" - for framework_resource in "$xcframework/Resources"/*; do - echo "checkpoint 3" - for platform in "ios-arm64" "ios-arm64_x86_64-simulator"; do - echo "checkpoint 4" - framework="$xcframework/$platform/$(basename "$xcframework" .xcframework).framework" - if [ -d $framework ]; then - echo "checkpoint 5" - cp -rP $framework_resource $framework - echo "Copying $framework_resource to $framework" - fi - done - rm -rf $framework_resource - echo "Removing $framework_resource" - done - fi -done diff --git a/scripts/setup_quickstart_framework.sh b/scripts/setup_quickstart_framework.sh index 612895f8b7a..51499ab6efa 100755 --- a/scripts/setup_quickstart_framework.sh +++ b/scripts/setup_quickstart_framework.sh @@ -54,8 +54,8 @@ if [[ "${SAMPLE}" == "Authentication" ]]; then fi if [[ "${SAMPLE}" == "Firestore" ]]; then - "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/FirebaseAuthUI.xcframework/ios-arm64/FirebaseAuthUI.framework/FirebaseAuthUI.bundle - "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/FirebaseEmailAuthUI.xcframework/ios-arm64/FirebaseAuthUI.framework/FirebaseEmailAuthUI.bundle + "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/FirebaseAuthUI.xcframework/Resources/FirebaseAuthUI.bundle + "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/FirebaseEmailAuthUI.xcframework/Resources/FirebaseEmailAuthUI.bundle fi "${QS_SCRIPTS}"/add_framework_script.rb --sdk "${SAMPLE}" --target "${TARGET}" --framework_path Firebase/ From 4b6fa9f7351d9257e3cda19b94d4407d626655f0 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 17 Apr 2024 21:11:17 -0400 Subject: [PATCH 28/28] Disable FST and set Xcode version for package-* jobs --- .github/workflows/zip.yml | 109 ++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 57 deletions(-) diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index c64ee5a8e42..ef41e52a963 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -28,7 +28,7 @@ jobs: package-release: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - runs-on: macos-13 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -54,7 +54,7 @@ jobs: build: # Don't run on private repo unless it is a PR. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - runs-on: macos-13 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - name: Xcode 15.2 @@ -68,10 +68,7 @@ jobs: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' needs: build - strategy: - matrix: - os: [macos-13, macos-14] - runs-on: ${{ matrix.os }} + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -447,57 +444,55 @@ jobs: name: quickstart_artifacts_dynamiclinks path: quickstart-ios/ - quickstart_framework_firestore: - # Don't run on private repo. - if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' - needs: package-head - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - SDK: "Firestore" - strategy: - matrix: - os: [macos-13] - xcode: [Xcode_15.2] - # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. - # - os: macos-13 - # xcode: Xcode_15.2 - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Get framework dir - uses: actions/download-artifact@v4 - with: - name: Firebase-actions-dir - - uses: ruby/setup-ruby@v1 - - 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: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - 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 - if: ${{ failure() }} - run: scripts/remove_data.sh firestore - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: quickstart_artifacts_firestore - path: quickstart-ios/ + # quickstart_framework_firestore: + # # Don't run on private repo. + # if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' + # needs: package-head + # env: + # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + # SDK: "Firestore" + # strategy: + # matrix: + # # TODO: Building FirebaseUI fails on Xcode 15 because it needs to sign the resources. + # os: [macos-13] + # xcode: [Xcode_15.2] + # runs-on: ${{ matrix.os }} + # steps: + # - uses: actions/checkout@v4 + # - name: Get framework dir + # uses: actions/download-artifact@v4 + # with: + # name: Firebase-actions-dir + # - uses: ruby/setup-ruby@v1 + # - 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: Xcode + # run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + # - 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 + # if: ${{ failure() }} + # run: scripts/remove_data.sh firestore + # - uses: actions/upload-artifact@v4 + # if: ${{ failure() }} + # with: + # name: quickstart_artifacts_firestore + # path: quickstart-ios/ check_framework_firestore_symbols: # Don't run on private repo.