From ea4cb4b0eb76f47e5b1ad219881d05360e9ff5a8 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Fri, 4 Apr 2025 18:14:40 -0400 Subject: [PATCH 01/11] [Infra] Migrate Storage CI to Xcode 16 --- .github/workflows/storage.yml | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 6d9b6b7a543..c315806c1a1 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -89,29 +89,26 @@ jobs: strategy: matrix: include: - - os: macos-13 - xcode: Xcode_15.2 - target: iOS - os: macos-14 - xcode: Xcode_15.4 + xcode: Xcode_16.2 target: iOS - os: macos-15 - xcode: Xcode_16.2 + xcode: Xcode_16.3 target: iOS - os: macos-15 - xcode: Xcode_16.2 + xcode: Xcode_16.3 target: tvOS - os: macos-15 - xcode: Xcode_16.2 + xcode: Xcode_16.3 target: macOS - os: macos-15 - xcode: Xcode_16.2 + xcode: Xcode_16.3 target: watchOS - os: macos-15 - xcode: Xcode_16.2 + xcode: Xcode_16.3 target: catalyst - os: macos-15 - xcode: Xcode_16.2 + xcode: Xcode_16.3 target: visionOS runs-on: ${{ matrix.os }} steps: @@ -169,7 +166,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} LEGACY: true - runs-on: macos-14 + runs-on: macos-15 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 @@ -199,11 +196,11 @@ jobs: matrix: target: [ios, tvos, macos, watchos] build-env: - - os: macos-14 - xcode: Xcode_15.3 - tests: --skip-tests - os: macos-15 xcode: Xcode_16.2 + tests: --skip-tests + - os: macos-15 + xcode: Xcode_16.3 tests: --test-specs=unit runs-on: ${{ matrix.build-env.os }} steps: @@ -228,9 +225,9 @@ jobs: target: [ios, tvos, macos, watchos] build-env: - os: macos-14 - xcode: Xcode_15.3 - - os: macos-15 xcode: Xcode_16.2 + - os: macos-15 + xcode: Xcode_16.3 runs-on: ${{ matrix.build-env.os }} needs: pod-lib-lint steps: From 96ff4c6041e8d14549c28e0713fb753d7fc0502b Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Fri, 4 Apr 2025 18:19:18 -0400 Subject: [PATCH 02/11] Update storage.yml --- .github/workflows/storage.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index c315806c1a1..a806c063fe6 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -93,22 +93,22 @@ jobs: xcode: Xcode_16.2 target: iOS - os: macos-15 - xcode: Xcode_16.3 + xcode: Xcode_16.2 target: iOS - os: macos-15 - xcode: Xcode_16.3 + xcode: Xcode_16.2 target: tvOS - os: macos-15 - xcode: Xcode_16.3 + xcode: Xcode_16.2 target: macOS - os: macos-15 - xcode: Xcode_16.3 + xcode: Xcode_16.2 target: watchOS - os: macos-15 - xcode: Xcode_16.3 + xcode: Xcode_16.2 target: catalyst - os: macos-15 - xcode: Xcode_16.3 + xcode: Xcode_16.2 target: visionOS runs-on: ${{ matrix.os }} steps: From 8f93fbd484623404b006f564b909ffe57ffb4b3c Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Fri, 4 Apr 2025 18:33:58 -0400 Subject: [PATCH 03/11] Address implementationOnly warnings --- FirebaseStorage/Sources/Internal/StorageTokenAuthorizer.swift | 2 +- FirebaseStorage/Sources/Storage.swift | 2 +- FirebaseStorage/Sources/StorageUploadTask.swift | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/FirebaseStorage/Sources/Internal/StorageTokenAuthorizer.swift b/FirebaseStorage/Sources/Internal/StorageTokenAuthorizer.swift index fbaa15a5fda..3dec3a3872a 100644 --- a/FirebaseStorage/Sources/Internal/StorageTokenAuthorizer.swift +++ b/FirebaseStorage/Sources/Internal/StorageTokenAuthorizer.swift @@ -17,7 +17,7 @@ import Foundation import FirebaseAppCheckInterop import FirebaseAuthInterop import FirebaseCore -@_implementationOnly import FirebaseCoreExtension +internal import FirebaseCoreExtension #if COCOAPODS import GTMSessionFetcher diff --git a/FirebaseStorage/Sources/Storage.swift b/FirebaseStorage/Sources/Storage.swift index b58cc4a8c30..b4eefff1ff1 100644 --- a/FirebaseStorage/Sources/Storage.swift +++ b/FirebaseStorage/Sources/Storage.swift @@ -19,7 +19,7 @@ import FirebaseAuthInterop import FirebaseCore // Avoids exposing internal FirebaseCore APIs to Swift users. -@_implementationOnly import FirebaseCoreExtension +internal import FirebaseCoreExtension /// Firebase Storage is a service that supports uploading and downloading binary objects, /// such as images, videos, and other files to Google Cloud Storage. Instances of `Storage` diff --git a/FirebaseStorage/Sources/StorageUploadTask.swift b/FirebaseStorage/Sources/StorageUploadTask.swift index c1ed2ccfd79..73cb1d5cb21 100644 --- a/FirebaseStorage/Sources/StorageUploadTask.swift +++ b/FirebaseStorage/Sources/StorageUploadTask.swift @@ -15,9 +15,9 @@ import Foundation #if COCOAPODS - @_implementationOnly import GoogleUtilities + internal import GoogleUtilities #else - @_implementationOnly import GoogleUtilities_Environment + internal import GoogleUtilities_Environment #endif // COCOAPODS #if COCOAPODS From 5f567dbecdff5e98abefb678912e31fcec0f7e44 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Mon, 7 Apr 2025 17:56:40 -0400 Subject: [PATCH 04/11] Move back to 16.2 --- .github/workflows/storage.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index a806c063fe6..52128f798a0 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -200,7 +200,7 @@ jobs: xcode: Xcode_16.2 tests: --skip-tests - os: macos-15 - xcode: Xcode_16.3 + xcode: Xcode_16.2 tests: --test-specs=unit runs-on: ${{ matrix.build-env.os }} steps: @@ -227,7 +227,7 @@ jobs: - os: macos-14 xcode: Xcode_16.2 - os: macos-15 - xcode: Xcode_16.3 + xcode: Xcode_16.2 runs-on: ${{ matrix.build-env.os }} needs: pod-lib-lint steps: From dcffd18a12510902a9f18fb6776e9ef93847104a Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Tue, 8 Apr 2025 17:37:48 -0400 Subject: [PATCH 05/11] Add catalyst job --- .github/workflows/storage.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 52128f798a0..877b90a4588 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -129,6 +129,28 @@ jobs: - name: Unit Tests run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseStorageUnit ${{ 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' + runs-on: macos-15 + steps: + - uses: actions/checkout@v4 + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: catalyst${{ matrix.os }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Xcode + run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 + with: + timeout_minutes: 120 + max_attempts: 3 + retry_on: error + retry_wait_seconds: 120 + command: scripts/test_catalyst.sh FirebaseStorage test FirebaseStorage-Unit-unit + quickstart: # 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' From e402a75ce64f34739ee54f1a0f5bfefef0a73a0d Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 9 Apr 2025 10:57:28 -0400 Subject: [PATCH 06/11] Attempt to run on 18.3 sim --- scripts/build.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index d5776e4e3c1..e32cb7db497 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -151,6 +151,7 @@ function CheckUnexpectedFailures() { fi } +# TODO(ncooke3): Xcode 16 – remove -lt 15 after migration if [[ "$xcode_major" -lt 15 ]]; then ios_flags=( -sdk 'iphonesimulator' @@ -172,7 +173,9 @@ elif [[ "$xcode_major" -lt 16 ]]; then else ios_flags=( -sdk 'iphonesimulator' - -destination 'platform=iOS Simulator,name=iPhone 16' + # Avoid iOS 18.4's networking issues: + # - https://developer.apple.com/forums/thread/777999 + -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.3' ) watchos_flags=( -sdk 'watchsimulator' From 2f4279cc7dc54a397941ef3dd6b645330b5bd15e Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 9 Apr 2025 10:57:53 -0400 Subject: [PATCH 07/11] reduce CI jobs for debugging purposes --- .github/workflows/storage.yml | 404 +++++++++++++++++----------------- 1 file changed, 202 insertions(+), 202 deletions(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 877b90a4588..560a51438ab 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -59,205 +59,205 @@ jobs: retry_wait_seconds: 120 command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) - spm-package-resolved: - env: - FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 - runs-on: macos-14 - outputs: - cache_key: ${{ steps.generate_cache_key.outputs.cache_key }} - steps: - - uses: actions/checkout@v4 - - name: Generate Swift Package.resolved - id: swift_package_resolve - run: | - swift package resolve - - name: Generate cache key - id: generate_cache_key - run: | - cache_key="${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}" - echo "cache_key=${cache_key}" >> "$GITHUB_OUTPUT" - - uses: actions/cache/save@v4 - id: cache - with: - path: .build - key: ${{ steps.generate_cache_key.outputs.cache_key }} - - 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' - needs: [spm-package-resolved] - strategy: - matrix: - include: - - os: macos-14 - xcode: Xcode_16.2 - target: iOS - - os: macos-15 - xcode: Xcode_16.2 - target: iOS - - os: macos-15 - xcode: Xcode_16.2 - target: tvOS - - os: macos-15 - xcode: Xcode_16.2 - target: macOS - - os: macos-15 - xcode: Xcode_16.2 - target: watchOS - - os: macos-15 - xcode: Xcode_16.2 - target: catalyst - - os: macos-15 - xcode: Xcode_16.2 - target: visionOS - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: actions/cache/restore@v4 - with: - path: .build - key: ${{needs.spm-package-resolved.outputs.cache_key}} - - name: Xcodes - run: ls -l /Applications/Xcode* - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Install visionOS, if needed. - if: matrix.target == 'visionOS spm' - run: xcodebuild -downloadPlatform visionOS - - name: Initialize xcodebuild - run: scripts/setup_spm_tests.sh - - name: Unit Tests - run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseStorageUnit ${{ 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' - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 - with: - cache_key: catalyst${{ matrix.os }} - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 - with: - timeout_minutes: 120 - max_attempts: 3 - retry_on: error - retry_wait_seconds: 120 - command: scripts/test_catalyst.sh FirebaseStorage test FirebaseStorage-Unit-unit - - quickstart: - # 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' - # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed. - strategy: - matrix: - include: - #- os: macos-13 - # xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. - - swift: swift - os: macos-15 - xcode: Xcode_16.2 - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - LEGACY: true - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup quickstart - run: scripts/setup_quickstart.sh storage - - 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: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - - name: Test quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage false ${{ matrix.swift }}) - - quickstart-ftl-cron-only: - # Don't run on private repo. - if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule' - env: - plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - LEGACY: true - runs-on: macos-15 - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - name: Setup quickstart - run: scripts/setup_quickstart.sh storage - - 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: Build objc quickstart - # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage) - - name: Build swift quickstart - run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage swift) - - id: ftl_test - uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4 - with: - credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }} - testapp_dir: quickstart-ios/build-for-testing - test_type: "xctest" - - 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: - target: [ios, tvos, macos, watchos] - build-env: - - os: macos-15 - xcode: Xcode_16.2 - tests: --skip-tests - - os: macos-15 - xcode: Xcode_16.2 - tests: --test-specs=unit - runs-on: ${{ matrix.build-env.os }} - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcodes - run: ls -l /Applications/Xcode* - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: Build and test - run: | - scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec ${{ matrix.build-env.tests }} \ - --platforms=${{ matrix.target }} - - storage-cron-only: - # Don't run on private repo. - if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - strategy: - matrix: - target: [ios, tvos, macos, watchos] - build-env: - - os: macos-14 - xcode: Xcode_16.2 - - os: macos-15 - xcode: Xcode_16.2 - runs-on: ${{ matrix.build-env.os }} - needs: pod-lib-lint - steps: - - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 - - name: Setup Bundler - run: scripts/setup_bundler.sh - - name: Xcode - run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer - - name: PodLibLint Storage Cron - run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} --use-static-frameworks --skip-tests +# spm-package-resolved: +# env: +# FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 +# runs-on: macos-14 +# outputs: +# cache_key: ${{ steps.generate_cache_key.outputs.cache_key }} +# steps: +# - uses: actions/checkout@v4 +# - name: Generate Swift Package.resolved +# id: swift_package_resolve +# run: | +# swift package resolve +# - name: Generate cache key +# id: generate_cache_key +# run: | +# cache_key="${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}" +# echo "cache_key=${cache_key}" >> "$GITHUB_OUTPUT" +# - uses: actions/cache/save@v4 +# id: cache +# with: +# path: .build +# key: ${{ steps.generate_cache_key.outputs.cache_key }} +# +# 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' +# needs: [spm-package-resolved] +# strategy: +# matrix: +# include: +# - os: macos-14 +# xcode: Xcode_16.2 +# target: iOS +# - os: macos-15 +# xcode: Xcode_16.2 +# target: iOS +# - os: macos-15 +# xcode: Xcode_16.2 +# target: tvOS +# - os: macos-15 +# xcode: Xcode_16.2 +# target: macOS +# - os: macos-15 +# xcode: Xcode_16.2 +# target: watchOS +# - os: macos-15 +# xcode: Xcode_16.2 +# target: catalyst +# - os: macos-15 +# xcode: Xcode_16.2 +# target: visionOS +# runs-on: ${{ matrix.os }} +# steps: +# - uses: actions/checkout@v4 +# - uses: actions/cache/restore@v4 +# with: +# path: .build +# key: ${{needs.spm-package-resolved.outputs.cache_key}} +# - name: Xcodes +# run: ls -l /Applications/Xcode* +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer +# - name: Install visionOS, if needed. +# if: matrix.target == 'visionOS spm' +# run: xcodebuild -downloadPlatform visionOS +# - name: Initialize xcodebuild +# run: scripts/setup_spm_tests.sh +# - name: Unit Tests +# run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseStorageUnit ${{ 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' +# runs-on: macos-15 +# steps: +# - uses: actions/checkout@v4 +# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 +# with: +# cache_key: catalyst${{ matrix.os }} +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Setup Bundler +# run: scripts/setup_bundler.sh +# - name: Xcode +# run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer +# - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 +# with: +# timeout_minutes: 120 +# max_attempts: 3 +# retry_on: error +# retry_wait_seconds: 120 +# command: scripts/test_catalyst.sh FirebaseStorage test FirebaseStorage-Unit-unit +# +# quickstart: +# # 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' +# # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed. +# strategy: +# matrix: +# include: +# #- os: macos-13 +# # xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. +# - swift: swift +# os: macos-15 +# xcode: Xcode_16.2 +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# LEGACY: true +# runs-on: ${{ matrix.os }} +# steps: +# - uses: actions/checkout@v4 +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Setup quickstart +# run: scripts/setup_quickstart.sh storage +# - 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: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer +# - name: Test quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage false ${{ matrix.swift }}) +# +# quickstart-ftl-cron-only: +# # Don't run on private repo. +# if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule' +# env: +# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} +# LEGACY: true +# runs-on: macos-15 +# steps: +# - uses: actions/checkout@v4 +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - uses: actions/setup-python@v5 +# with: +# python-version: '3.11' +# - name: Setup quickstart +# run: scripts/setup_quickstart.sh storage +# - 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: Build objc quickstart +# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage) +# - name: Build swift quickstart +# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage swift) +# - id: ftl_test +# uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4 +# with: +# credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }} +# testapp_dir: quickstart-ios/build-for-testing +# test_type: "xctest" +# +# 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: +# target: [ios, tvos, macos, watchos] +# build-env: +# - os: macos-15 +# xcode: Xcode_16.2 +# tests: --skip-tests +# - os: macos-15 +# xcode: Xcode_16.2 +# tests: --test-specs=unit +# runs-on: ${{ matrix.build-env.os }} +# steps: +# - uses: actions/checkout@v4 +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Setup Bundler +# run: scripts/setup_bundler.sh +# - name: Xcodes +# run: ls -l /Applications/Xcode* +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer +# - name: Build and test +# run: | +# scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec ${{ matrix.build-env.tests }} \ +# --platforms=${{ matrix.target }} +# +# storage-cron-only: +# # Don't run on private repo. +# if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' +# strategy: +# matrix: +# target: [ios, tvos, macos, watchos] +# build-env: +# - os: macos-14 +# xcode: Xcode_16.2 +# - os: macos-15 +# xcode: Xcode_16.2 +# runs-on: ${{ matrix.build-env.os }} +# needs: pod-lib-lint +# steps: +# - uses: actions/checkout@v4 +# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 +# - name: Setup Bundler +# run: scripts/setup_bundler.sh +# - name: Xcode +# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer +# - name: PodLibLint Storage Cron +# run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} --use-static-frameworks --skip-tests From 7906dd62cfd048f73e8f8bd77f641ba56d97b045 Mon Sep 17 00:00:00 2001 From: Nick Cooke <36927374+ncooke3@users.noreply.github.com> Date: Wed, 9 Apr 2025 12:06:57 -0400 Subject: [PATCH 08/11] 18.3 is missing, use 18.3.1 --- scripts/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index e32cb7db497..e77a705543e 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -175,7 +175,7 @@ else -sdk 'iphonesimulator' # Avoid iOS 18.4's networking issues: # - https://developer.apple.com/forums/thread/777999 - -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.3' + -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.3.1' ) watchos_flags=( -sdk 'watchsimulator' From 5eab8ff46b7bbd7c55dc9fb2e9b891c4f1052fbe Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 9 Apr 2025 16:05:59 -0400 Subject: [PATCH 09/11] Revert "reduce CI jobs for debugging purposes" This reverts commit 7300a2603742ad10e1194bf6c063e1363859a714. --- .github/workflows/storage.yml | 404 +++++++++++++++++----------------- 1 file changed, 202 insertions(+), 202 deletions(-) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 560a51438ab..877b90a4588 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -59,205 +59,205 @@ jobs: retry_wait_seconds: 120 command: ([ -z $plist_secret ] || scripts/build.sh Storage${{ matrix.language }} all) -# spm-package-resolved: -# env: -# FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 -# runs-on: macos-14 -# outputs: -# cache_key: ${{ steps.generate_cache_key.outputs.cache_key }} -# steps: -# - uses: actions/checkout@v4 -# - name: Generate Swift Package.resolved -# id: swift_package_resolve -# run: | -# swift package resolve -# - name: Generate cache key -# id: generate_cache_key -# run: | -# cache_key="${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}" -# echo "cache_key=${cache_key}" >> "$GITHUB_OUTPUT" -# - uses: actions/cache/save@v4 -# id: cache -# with: -# path: .build -# key: ${{ steps.generate_cache_key.outputs.cache_key }} -# -# 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' -# needs: [spm-package-resolved] -# strategy: -# matrix: -# include: -# - os: macos-14 -# xcode: Xcode_16.2 -# target: iOS -# - os: macos-15 -# xcode: Xcode_16.2 -# target: iOS -# - os: macos-15 -# xcode: Xcode_16.2 -# target: tvOS -# - os: macos-15 -# xcode: Xcode_16.2 -# target: macOS -# - os: macos-15 -# xcode: Xcode_16.2 -# target: watchOS -# - os: macos-15 -# xcode: Xcode_16.2 -# target: catalyst -# - os: macos-15 -# xcode: Xcode_16.2 -# target: visionOS -# runs-on: ${{ matrix.os }} -# steps: -# - uses: actions/checkout@v4 -# - uses: actions/cache/restore@v4 -# with: -# path: .build -# key: ${{needs.spm-package-resolved.outputs.cache_key}} -# - name: Xcodes -# run: ls -l /Applications/Xcode* -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer -# - name: Install visionOS, if needed. -# if: matrix.target == 'visionOS spm' -# run: xcodebuild -downloadPlatform visionOS -# - name: Initialize xcodebuild -# run: scripts/setup_spm_tests.sh -# - name: Unit Tests -# run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseStorageUnit ${{ 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' -# runs-on: macos-15 -# steps: -# - uses: actions/checkout@v4 -# - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 -# with: -# cache_key: catalyst${{ matrix.os }} -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Setup Bundler -# run: scripts/setup_bundler.sh -# - name: Xcode -# run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer -# - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 -# with: -# timeout_minutes: 120 -# max_attempts: 3 -# retry_on: error -# retry_wait_seconds: 120 -# command: scripts/test_catalyst.sh FirebaseStorage test FirebaseStorage-Unit-unit -# -# quickstart: -# # 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' -# # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed. -# strategy: -# matrix: -# include: -# #- os: macos-13 -# # xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. -# - swift: swift -# os: macos-15 -# xcode: Xcode_16.2 -# env: -# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# LEGACY: true -# runs-on: ${{ matrix.os }} -# steps: -# - uses: actions/checkout@v4 -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Setup quickstart -# run: scripts/setup_quickstart.sh storage -# - 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: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer -# - name: Test quickstart -# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage false ${{ matrix.swift }}) -# -# quickstart-ftl-cron-only: -# # Don't run on private repo. -# if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule' -# env: -# plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} -# LEGACY: true -# runs-on: macos-15 -# steps: -# - uses: actions/checkout@v4 -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - uses: actions/setup-python@v5 -# with: -# python-version: '3.11' -# - name: Setup quickstart -# run: scripts/setup_quickstart.sh storage -# - 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: Build objc quickstart -# # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage) -# - name: Build swift quickstart -# run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage swift) -# - id: ftl_test -# uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4 -# with: -# credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }} -# testapp_dir: quickstart-ios/build-for-testing -# test_type: "xctest" -# -# 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: -# target: [ios, tvos, macos, watchos] -# build-env: -# - os: macos-15 -# xcode: Xcode_16.2 -# tests: --skip-tests -# - os: macos-15 -# xcode: Xcode_16.2 -# tests: --test-specs=unit -# runs-on: ${{ matrix.build-env.os }} -# steps: -# - uses: actions/checkout@v4 -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Setup Bundler -# run: scripts/setup_bundler.sh -# - name: Xcodes -# run: ls -l /Applications/Xcode* -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer -# - name: Build and test -# run: | -# scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec ${{ matrix.build-env.tests }} \ -# --platforms=${{ matrix.target }} -# -# storage-cron-only: -# # Don't run on private repo. -# if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' -# strategy: -# matrix: -# target: [ios, tvos, macos, watchos] -# build-env: -# - os: macos-14 -# xcode: Xcode_16.2 -# - os: macos-15 -# xcode: Xcode_16.2 -# runs-on: ${{ matrix.build-env.os }} -# needs: pod-lib-lint -# steps: -# - uses: actions/checkout@v4 -# - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 -# - name: Setup Bundler -# run: scripts/setup_bundler.sh -# - name: Xcode -# run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer -# - name: PodLibLint Storage Cron -# run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} --use-static-frameworks --skip-tests + spm-package-resolved: + env: + FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 + runs-on: macos-14 + outputs: + cache_key: ${{ steps.generate_cache_key.outputs.cache_key }} + steps: + - uses: actions/checkout@v4 + - name: Generate Swift Package.resolved + id: swift_package_resolve + run: | + swift package resolve + - name: Generate cache key + id: generate_cache_key + run: | + cache_key="${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}" + echo "cache_key=${cache_key}" >> "$GITHUB_OUTPUT" + - uses: actions/cache/save@v4 + id: cache + with: + path: .build + key: ${{ steps.generate_cache_key.outputs.cache_key }} + + 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' + needs: [spm-package-resolved] + strategy: + matrix: + include: + - os: macos-14 + xcode: Xcode_16.2 + target: iOS + - os: macos-15 + xcode: Xcode_16.2 + target: iOS + - os: macos-15 + xcode: Xcode_16.2 + target: tvOS + - os: macos-15 + xcode: Xcode_16.2 + target: macOS + - os: macos-15 + xcode: Xcode_16.2 + target: watchOS + - os: macos-15 + xcode: Xcode_16.2 + target: catalyst + - os: macos-15 + xcode: Xcode_16.2 + target: visionOS + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: actions/cache/restore@v4 + with: + path: .build + key: ${{needs.spm-package-resolved.outputs.cache_key}} + - name: Xcodes + run: ls -l /Applications/Xcode* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Install visionOS, if needed. + if: matrix.target == 'visionOS spm' + run: xcodebuild -downloadPlatform visionOS + - name: Initialize xcodebuild + run: scripts/setup_spm_tests.sh + - name: Unit Tests + run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseStorageUnit ${{ 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' + runs-on: macos-15 + steps: + - uses: actions/checkout@v4 + - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 + with: + cache_key: catalyst${{ matrix.os }} + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Xcode + run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer + - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3 + with: + timeout_minutes: 120 + max_attempts: 3 + retry_on: error + retry_wait_seconds: 120 + command: scripts/test_catalyst.sh FirebaseStorage test FirebaseStorage-Unit-unit + + quickstart: + # 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' + # TODO: See #12399 and restore Objective-C testing for Xcode 15 if GHA is fixed. + strategy: + matrix: + include: + #- os: macos-13 + # xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. + - swift: swift + os: macos-15 + xcode: Xcode_16.2 + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + LEGACY: true + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup quickstart + run: scripts/setup_quickstart.sh storage + - 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: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer + - name: Test quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart.sh Storage false ${{ matrix.swift }}) + + quickstart-ftl-cron-only: + # Don't run on private repo. + if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule' + env: + plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} + LEGACY: true + runs-on: macos-15 + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - uses: actions/setup-python@v5 + with: + python-version: '3.11' + - name: Setup quickstart + run: scripts/setup_quickstart.sh storage + - 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: Build objc quickstart + # run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage) + - name: Build swift quickstart + run: ([ -z $plist_secret ] || scripts/third_party/travis/retry.sh scripts/test_quickstart_ftl.sh Storage swift) + - id: ftl_test + uses: FirebaseExtended/github-actions/firebase-test-lab@v1.4 + with: + credentials_json: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }} + testapp_dir: quickstart-ios/build-for-testing + test_type: "xctest" + + 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: + target: [ios, tvos, macos, watchos] + build-env: + - os: macos-15 + xcode: Xcode_16.2 + tests: --skip-tests + - os: macos-15 + xcode: Xcode_16.2 + tests: --test-specs=unit + runs-on: ${{ matrix.build-env.os }} + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Xcodes + run: ls -l /Applications/Xcode* + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: Build and test + run: | + scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec ${{ matrix.build-env.tests }} \ + --platforms=${{ matrix.target }} + + storage-cron-only: + # Don't run on private repo. + if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' + strategy: + matrix: + target: [ios, tvos, macos, watchos] + build-env: + - os: macos-14 + xcode: Xcode_16.2 + - os: macos-15 + xcode: Xcode_16.2 + runs-on: ${{ matrix.build-env.os }} + needs: pod-lib-lint + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1 + - name: Setup Bundler + run: scripts/setup_bundler.sh + - name: Xcode + run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer + - name: PodLibLint Storage Cron + run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseStorage.podspec --platforms=${{ matrix.target }} --use-static-frameworks --skip-tests From 98536903326e99f1b8d8a73082911666ca1a5621 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Fri, 11 Apr 2025 12:58:13 -0400 Subject: [PATCH 10/11] fix build --- scripts/build.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index e77a705543e..a8add69a510 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -173,9 +173,7 @@ elif [[ "$xcode_major" -lt 16 ]]; then else ios_flags=( -sdk 'iphonesimulator' - # Avoid iOS 18.4's networking issues: - # - https://developer.apple.com/forums/thread/777999 - -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.3.1' + -destination 'platform=iOS Simulator,name=iPhone 16' ) watchos_flags=( -sdk 'watchsimulator' @@ -575,10 +573,12 @@ case "$product-$platform-$method" in if check_secrets; then # Integration tests are only run on iOS to minimize flake failures. + # TODO(ncooke3): Add back "${ios_flags[@]}". See #14657. RunXcodebuild \ -workspace 'gen/FirebaseStorage/FirebaseStorage.xcworkspace' \ -scheme "FirebaseStorage-Unit-integration" \ - "${ios_flags[@]}" \ + -sdk 'iphonesimulator' \ + -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.3.1' \ "${xcb_flags[@]}" \ test fi From b7d6e90200ce0d374faf829857c892092c511aff Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Fri, 11 Apr 2025 13:18:15 -0400 Subject: [PATCH 11/11] objc int fix --- scripts/build.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index a8add69a510..bb4c4ee8165 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -594,10 +594,12 @@ case "$product-$platform-$method" in if check_secrets; then # Integration tests are only run on iOS to minimize flake failures. + # TODO(ncooke3): Add back "${ios_flags[@]}". See #14657. RunXcodebuild \ -workspace 'gen/FirebaseStorage/FirebaseStorage.xcworkspace' \ -scheme "FirebaseStorage-Unit-ObjCIntegration" \ - "${ios_flags[@]}" \ + -sdk 'iphonesimulator' \ + -destination 'platform=iOS Simulator,name=iPhone 16,OS=18.3.1' \ "${xcb_flags[@]}" \ test fi