From c101017aaebc124e23c2fce841f8124fcab76660 Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Wed, 10 Apr 2024 14:01:08 -0700 Subject: [PATCH 01/11] [CI] Stop Xcode 14, start Xcode 15.3 --- .github/workflows/abtesting.yml | 20 ++++---- .github/workflows/analytics.yml | 6 +-- .github/workflows/appdistribution.yml | 16 +++---- .github/workflows/archiving.yml | 4 +- .github/workflows/auth.yml | 23 ++++----- .github/workflows/check.yml | 2 +- .github/workflows/client_app.yml | 6 +-- .github/workflows/cocoapods-integration.yml | 2 +- .github/workflows/combine.yml | 4 +- .github/workflows/core.yml | 14 +++--- .github/workflows/core_extension.yml | 8 ++-- .github/workflows/core_internal.yml | 18 ++++--- .github/workflows/crashlytics.yml | 22 ++++----- .github/workflows/danger.yml | 2 +- .github/workflows/database.yml | 22 ++++----- .github/workflows/dynamiclinks.yml | 18 +++---- .github/workflows/firebase_app_check.yml | 21 ++++---- .github/workflows/firestore-nightly.yml | 4 +- .github/workflows/firestore.yml | 36 +++++++------- .github/workflows/functions.yml | 24 +++++----- .../workflows/google-utilities-components.yml | 6 +-- .../workflows/health-metrics-presubmit.yml | 24 +++++----- .github/workflows/inappmessaging.yml | 18 +++---- .github/workflows/installations.yml | 22 ++++----- .github/workflows/messaging.yml | 26 +++++----- .github/workflows/mlmodeldownloader.yml | 20 ++++---- .github/workflows/notice_generation.yml | 2 +- .../performance-integration-tests.yml | 2 +- .github/workflows/performance.yml | 20 ++++---- .github/workflows/prerelease.yml | 32 ++++++------- .github/workflows/release.yml | 30 ++++++------ .github/workflows/remoteconfig.yml | 27 +++++------ .../workflows/sessions-integration-tests.yml | 2 +- .github/workflows/sessions.yml | 16 +++---- .github/workflows/shared-swift.yml | 14 +++--- .github/workflows/spectesting.yml | 4 +- .github/workflows/spm.yml | 25 ++++------ .github/workflows/storage.yml | 30 ++++++------ .github/workflows/symbolcollision.yml | 2 +- .github/workflows/watchos-sample.yml | 2 +- .github/workflows/zip.yml | 48 +++++++++---------- README.md | 2 +- ReleaseTooling/Template/README.md | 2 +- SwiftPackageManager.md | 2 +- 44 files changed, 311 insertions(+), 339 deletions(-) diff --git a/.github/workflows/abtesting.yml b/.github/workflows/abtesting.yml index fbacdf8ba10..9c7bd5a1417 100644 --- a/.github/workflows/abtesting.yml +++ b/.github/workflows/abtesting.yml @@ -24,10 +24,10 @@ jobs: matrix: # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -52,10 +52,10 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 @@ -85,7 +85,7 @@ jobs: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -109,7 +109,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -132,7 +132,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -161,7 +161,7 @@ jobs: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos, macos] diff --git a/.github/workflows/analytics.yml b/.github/workflows/analytics.yml index 503d4faa70f..0c6c12f98c0 100644 --- a/.github/workflows/analytics.yml +++ b/.github/workflows/analytics.yml @@ -23,10 +23,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} diff --git a/.github/workflows/appdistribution.yml b/.github/workflows/appdistribution.yml index 882d00b134c..74670a14f2e 100644 --- a/.github/workflows/appdistribution.yml +++ b/.github/workflows/appdistribution.yml @@ -22,10 +22,10 @@ jobs: strategy: matrix: target: [ios] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -47,10 +47,10 @@ jobs: strategy: matrix: - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -70,7 +70,7 @@ jobs: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -85,7 +85,7 @@ jobs: appdistribution-cron-only: if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios] diff --git a/.github/workflows/archiving.yml b/.github/workflows/archiving.yml index b503d4ef2d9..8d60f6785b4 100644 --- a/.github/workflows/archiving.yml +++ b/.github/workflows/archiving.yml @@ -19,7 +19,7 @@ jobs: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: # These need to be on a single line or else the formatting won't validate. @@ -41,7 +41,7 @@ jobs: # Don't run on private repo. if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos, macos] diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml index 5982a658e2d..9df59238b13 100644 --- a/.github/workflows/auth.yml +++ b/.github/workflows/auth.yml @@ -26,10 +26,10 @@ jobs: podspec: [FirebaseAuthInterop.podspec, FirebaseAuth.podspec] # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 tests: --skip-tests - os: macos-13 xcode: Xcode_15.2 @@ -101,19 +101,16 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - test: spm - os: macos-13 xcode: Xcode_15.2 test: spmbuildonly - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 test: spmbuildonly - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS test: spm runs-on: ${{ matrix.os }} @@ -137,7 +134,7 @@ jobs: 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -161,7 +158,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -181,7 +178,7 @@ jobs: # env: # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # runs-on: macos-12 + # runs-on: macos-14 # steps: # - uses: actions/checkout@v4 # - uses: ruby/setup-ruby@v1 @@ -203,7 +200,7 @@ jobs: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: # The macos and tvos tests can hang, and watchOS doesn't have tests. diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index e2d27fede39..169ff7a2752 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -15,7 +15,7 @@ jobs: check: # Don't run on private repo. if: github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 env: MINT_PATH: ${{ github.workspace }}/mint steps: diff --git a/.github/workflows/client_app.yml b/.github/workflows/client_app.yml index a040810c2d7..22ec7877cb9 100644 --- a/.github/workflows/client_app.yml +++ b/.github/workflows/client_app.yml @@ -25,7 +25,7 @@ concurrency: jobs: client-app-spm: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: #TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst @@ -44,7 +44,7 @@ jobs: env: FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 FIREBASE_SOURCE_FIRESTORE: 1 - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: #TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst @@ -61,7 +61,7 @@ jobs: client-app-cocoapods: # 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-12 + runs-on: macos-14 strategy: matrix: scheme: [ClientApp-CocoaPods, ClientApp-CocoaPods-iOS13] diff --git a/.github/workflows/cocoapods-integration.yml b/.github/workflows/cocoapods-integration.yml index c182ff0701d..bd82129d66f 100644 --- a/.github/workflows/cocoapods-integration.yml +++ b/.github/workflows/cocoapods-integration.yml @@ -19,7 +19,7 @@ jobs: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 diff --git a/.github/workflows/combine.yml b/.github/workflows/combine.yml index 3ef54c8c4f1..de4baabf3bc 100644 --- a/.github/workflows/combine.yml +++ b/.github/workflows/combine.yml @@ -48,7 +48,7 @@ jobs: xcodebuild: # 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-12 + runs-on: macos-14 strategy: matrix: @@ -76,7 +76,7 @@ jobs: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index fa8fdc061bb..5df6aad888a 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -22,10 +22,10 @@ jobs: matrix: # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -45,16 +45,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/core_extension.yml b/.github/workflows/core_extension.yml index fdfc4692616..1afaa4bb3de 100644 --- a/.github/workflows/core_extension.yml +++ b/.github/workflows/core_extension.yml @@ -20,10 +20,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -40,7 +40,7 @@ jobs: core-internal-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos, macos] diff --git a/.github/workflows/core_internal.yml b/.github/workflows/core_internal.yml index 87a4d0625b3..f05eb0cfd0f 100644 --- a/.github/workflows/core_internal.yml +++ b/.github/workflows/core_internal.yml @@ -18,10 +18,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -41,16 +41,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: @@ -65,7 +63,7 @@ jobs: 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -82,7 +80,7 @@ jobs: core-internal-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos, macos] diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index 3996cda9f9d..39fb5aee43a 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -25,14 +25,14 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos --skip-tests] - os: [macos-12, macos-13] + os: [macos-14, macos-13] flags: [ '--use-modular-headers', '' ] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 tests: --skip-tests - os: macos-13 xcode: Xcode_15.2 @@ -59,16 +59,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: @@ -92,7 +90,7 @@ jobs: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -116,7 +114,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -148,7 +146,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -186,7 +184,7 @@ jobs: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: # Disable watchos because it does not support XCTest. diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml index d9d66407e4e..51ff108f822 100644 --- a/.github/workflows/danger.yml +++ b/.github/workflows/danger.yml @@ -9,7 +9,7 @@ concurrency: jobs: danger: - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml index 88a8fa078a0..309c80ffbc0 100644 --- a/.github/workflows/database.yml +++ b/.github/workflows/database.yml @@ -27,10 +27,10 @@ jobs: matrix: # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 tests: --skip-tests - os: macos-13 xcode: Xcode_15.2 @@ -49,7 +49,7 @@ jobs: integration: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -70,16 +70,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: @@ -99,7 +97,7 @@ jobs: 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -117,7 +115,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -134,7 +132,7 @@ jobs: database-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: podspec: [FirebaseDatabase.podspec, FirebaseDatabaseSwift.podspec --allow-warnings] diff --git a/.github/workflows/dynamiclinks.yml b/.github/workflows/dynamiclinks.yml index 310b7a88de6..a04cefe68b1 100644 --- a/.github/workflows/dynamiclinks.yml +++ b/.github/workflows/dynamiclinks.yml @@ -22,10 +22,10 @@ jobs: strategy: matrix: - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -44,10 +44,10 @@ jobs: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' strategy: matrix: - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -67,7 +67,7 @@ jobs: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: flags: [ @@ -89,7 +89,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -116,7 +116,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/firebase_app_check.yml b/.github/workflows/firebase_app_check.yml index 4893fe26042..5ce8416d71c 100644 --- a/.github/workflows/firebase_app_check.yml +++ b/.github/workflows/firebase_app_check.yml @@ -23,12 +23,15 @@ jobs: podspec: [FirebaseAppCheckInterop.podspec, FirebaseAppCheck.podspec] # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 + target: visionOS runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -45,7 +48,7 @@ jobs: 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -57,7 +60,7 @@ jobs: diagnostics: # 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-12 + runs-on: macos-14 strategy: matrix: diagnostic: [tsan, asan, ubsan] @@ -80,7 +83,7 @@ jobs: app_check-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: flags: [ @@ -102,10 +105,10 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} diff --git a/.github/workflows/firestore-nightly.yml b/.github/workflows/firestore-nightly.yml index 753c3e732f7..98c73dbf322 100644 --- a/.github/workflows/firestore-nightly.yml +++ b/.github/workflows/firestore-nightly.yml @@ -23,7 +23,7 @@ concurrency: jobs: check: - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v3 @@ -42,7 +42,7 @@ jobs: strategy: matrix: - os: [macos-12] + os: [macos-14] databaseId: [(default)] env: diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index 7a24c656c17..d9381001929 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -26,7 +26,7 @@ concurrency: jobs: changes: - runs-on: macos-12 + runs-on: macos-14 # Only when this is not a scheduled run if: github.event_name != 'schedule' outputs: @@ -83,7 +83,7 @@ jobs: if: | (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || (github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true') - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 @@ -105,7 +105,7 @@ jobs: (github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true') strategy: matrix: - os: [macos-12, ubuntu-latest] + os: [macos-14, ubuntu-latest] env: MINT_PATH: ${{ github.workspace }}/mint @@ -152,7 +152,7 @@ jobs: strategy: matrix: - os: [macos-12] + os: [macos-14] databaseId: [(default), test-db] env: @@ -239,7 +239,7 @@ jobs: strategy: matrix: - os: [macos-12] + os: [macos-14] sanitizer: [asan, tsan] runs-on: ${{ matrix.os }} @@ -323,7 +323,7 @@ jobs: if: | (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || (github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true') - runs-on: macos-12 + runs-on: macos-14 needs: check strategy: @@ -399,7 +399,7 @@ jobs: '--use-static-frameworks', '', ] - os: [macos-12, macos-13] + os: [macos-14, macos-13] # TODO: grpc and its dependencies don't build on Xcode 15 for macos because their minimum macos is lower than 10.11. exclude: - os: macos-13 @@ -408,8 +408,8 @@ jobs: - os: macos-13 platforms: 'ios' include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -440,16 +440,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} needs: check @@ -474,7 +472,7 @@ jobs: if: | (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || (github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true') - runs-on: macos-12 + runs-on: macos-14 needs: check steps: - uses: actions/checkout@v4 @@ -493,7 +491,7 @@ jobs: if: | (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || (github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true') - runs-on: macos-12 + runs-on: macos-14 needs: check steps: - uses: actions/checkout@v4 @@ -523,7 +521,7 @@ jobs: # spm-source-cron: # # Don't run on private repo. # if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - # runs-on: macos-12 + # runs-on: macos-14 # strategy: # matrix: # target: [tvOS, macOS, catalyst] @@ -544,7 +542,7 @@ jobs: spm-binary-cron: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [tvOS, macOS, catalyst] @@ -581,7 +579,7 @@ jobs: # env: # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # runs-on: macos-12 + # runs-on: macos-14 # needs: check # steps: diff --git a/.github/workflows/functions.yml b/.github/workflows/functions.yml index 6657f96ba3f..7e2d4bb50d0 100644 --- a/.github/workflows/functions.yml +++ b/.github/workflows/functions.yml @@ -30,10 +30,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -57,10 +57,10 @@ jobs: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' strategy: matrix: - os: [macos-12] + os: [macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} env: FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1 @@ -88,10 +88,10 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 @@ -119,7 +119,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} LEGACY: true - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 @@ -145,7 +145,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} LEGACY: true - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 @@ -177,7 +177,7 @@ jobs: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos, macos] diff --git a/.github/workflows/google-utilities-components.yml b/.github/workflows/google-utilities-components.yml index 2fd416475fd..61d953e2872 100644 --- a/.github/workflows/google-utilities-components.yml +++ b/.github/workflows/google-utilities-components.yml @@ -20,7 +20,7 @@ jobs: # 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-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos, macos] @@ -38,7 +38,7 @@ jobs: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -54,7 +54,7 @@ jobs: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos, macos] diff --git a/.github/workflows/health-metrics-presubmit.yml b/.github/workflows/health-metrics-presubmit.yml index 61ef5a17a26..e962f7ce9a6 100644 --- a/.github/workflows/health-metrics-presubmit.yml +++ b/.github/workflows/health-metrics-presubmit.yml @@ -58,7 +58,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.abtesting_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -81,7 +81,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.auth_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -101,7 +101,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.database_run_job == 'true' || github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -126,7 +126,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.dynamiclinks_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -150,7 +150,7 @@ jobs: # Don't run on private repo unless it is a PR. # Disable Firestore for now since Firestore currently does not have unit tests in podspecs. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.firestore_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -175,7 +175,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.functions_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -198,7 +198,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.inappmessaging_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -221,7 +221,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.messaging_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -244,7 +244,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.performance_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -269,7 +269,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.remoteconfig_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -292,7 +292,7 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.storage_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS] @@ -314,7 +314,7 @@ jobs: create_report: needs: [check, pod-lib-lint-abtesting, pod-lib-lint-auth, pod-lib-lint-database, pod-lib-lint-dynamiclinks, pod-lib-lint-firestore, pod-lib-lint-functions, pod-lib-lint-inappmessaging, pod-lib-lint-messaging, pod-lib-lint-performance, pod-lib-lint-remoteconfig, pod-lib-lint-storage] if: always() - runs-on: macos-12 + runs-on: macos-14 steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/inappmessaging.yml b/.github/workflows/inappmessaging.yml index 6c4ced921da..17bdac76d8a 100644 --- a/.github/workflows/inappmessaging.yml +++ b/.github/workflows/inappmessaging.yml @@ -24,10 +24,10 @@ jobs: strategy: matrix: podspec: [FirebaseInAppMessaging.podspec, FirebaseInAppMessagingSwift.podspec --allow-warnings] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -45,7 +45,7 @@ jobs: # 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-12 + runs-on: macos-14 strategy: matrix: # TODO(#8682): Reenable iPad after fixing Xcode 13 test failures. @@ -70,10 +70,10 @@ jobs: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' strategy: matrix: - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -93,7 +93,7 @@ jobs: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: flags: [ @@ -116,7 +116,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/installations.yml b/.github/workflows/installations.yml index 730f70612e9..2b103346226 100644 --- a/.github/workflows/installations.yml +++ b/.github/workflows/installations.yml @@ -25,10 +25,10 @@ jobs: matrix: # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 test-specs: unit,integration - os: macos-13 xcode: Xcode_15.2 @@ -64,16 +64,14 @@ jobs: matrix: # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [iOS, tvOS, macOS, watchOS, catalyst] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: @@ -90,7 +88,7 @@ jobs: catalyst: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -106,7 +104,7 @@ jobs: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -123,7 +121,7 @@ jobs: # Don't run on private repo. if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule' - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -148,7 +146,7 @@ jobs: installations-cron-only: if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} FIR_IID_INTEGRATION_TESTS_REQUIRED: ${{ secrets.GHASecretsGPGPassphrase1 }} diff --git a/.github/workflows/messaging.yml b/.github/workflows/messaging.yml index 1a1b5316df1..c80a862754d 100644 --- a/.github/workflows/messaging.yml +++ b/.github/workflows/messaging.yml @@ -59,10 +59,10 @@ jobs: matrix: podspec: [FirebaseMessagingInterop.podspec, FirebaseMessaging.podspec] target: [ios, tvos, macos --skip-tests, watchos --skip-tests] # skipping tests on mac because of keychain access - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 tests: --test-specs=unit - os: macos-13 xcode: Xcode_15.2 @@ -84,10 +84,10 @@ jobs: strategy: matrix: target: [iOS, watchOS, tvOS, macOS, catalyst] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 @@ -111,7 +111,7 @@ jobs: 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -132,8 +132,8 @@ jobs: strategy: matrix: include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -160,7 +160,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -191,10 +191,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos --skip-tests, watchos --skip-tests] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 tests: --test-specs=unit - os: macos-13 xcode: Xcode_15.2 diff --git a/.github/workflows/mlmodeldownloader.yml b/.github/workflows/mlmodeldownloader.yml index 9225416c437..24b59960440 100644 --- a/.github/workflows/mlmodeldownloader.yml +++ b/.github/workflows/mlmodeldownloader.yml @@ -22,10 +22,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -48,7 +48,7 @@ jobs: mlmodeldownloader-cron-only: if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} strategy: @@ -75,16 +75,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: @@ -101,7 +99,7 @@ jobs: catalyst: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -118,7 +116,7 @@ jobs: if: github.repository == 'Firebase/firebase-ios-sdk' && (github.event_name == 'schedule' || github.event_name == 'pull_request') env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 diff --git a/.github/workflows/notice_generation.yml b/.github/workflows/notice_generation.yml index 9330dcf1983..cd5025e1881 100644 --- a/.github/workflows/notice_generation.yml +++ b/.github/workflows/notice_generation.yml @@ -12,7 +12,7 @@ jobs: generate_a_notice: # Don't run on private repo. if: github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 name: Generate NOTICES env: # The path of NOTICES based on the root dir of repo." diff --git a/.github/workflows/performance-integration-tests.yml b/.github/workflows/performance-integration-tests.yml index 25c91e98f83..9ed31e2ca15 100644 --- a/.github/workflows/performance-integration-tests.yml +++ b/.github/workflows/performance-integration-tests.yml @@ -26,7 +26,7 @@ jobs: if: github.repository == 'Firebase/firebase-ios-sdk' env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index 1452e205385..3ef89226b4a 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -28,7 +28,7 @@ jobs: performance: # 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-12 + runs-on: macos-14 strategy: matrix: target: [iOS, tvOS] @@ -55,10 +55,10 @@ jobs: strategy: matrix: target: [ios, tvos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -79,7 +79,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -99,7 +99,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -129,8 +129,8 @@ jobs: matrix: target: [iOS, tvOS] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -148,7 +148,7 @@ jobs: catalyst: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -163,7 +163,7 @@ jobs: performance-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos] diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 87164ab1c1d..74633f10bd3 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -17,7 +17,7 @@ jobs: specs_checking: # 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 == 'workflow_dispatch' - runs-on: macos-12 + runs-on: macos-14 env: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} # The SDK repo will be cloned to this dir and podspecs from @@ -72,7 +72,7 @@ jobs: needs: specs_checking # 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 == 'workflow_dispatch' - runs-on: macos-12 + runs-on: macos-14 env: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} local_repo: specstesting @@ -111,7 +111,7 @@ jobs: needs: [buildup_SpecsTesting_repo_FirebaseCore, specs_checking] # 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 == 'workflow_dispatch' - runs-on: macos-12 + runs-on: macos-14 strategy: fail-fast: false matrix: ${{fromJson(needs.specs_checking.outputs.matrix)}} @@ -156,7 +156,7 @@ jobs: update_SpecsTesting_repo: # Don't run on private repo unless it is a PR. if: github.repository == 'Firebase/firebase-ios-sdk' && github.event.pull_request.merged == true - runs-on: macos-12 + runs-on: macos-14 env: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} local_repo: specstesting @@ -210,7 +210,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -248,7 +248,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -282,7 +282,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -331,7 +331,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -367,7 +367,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -409,7 +409,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -445,7 +445,7 @@ jobs: testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" LEGACY: true - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -485,7 +485,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -523,7 +523,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -559,7 +559,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -594,7 +594,7 @@ jobs: testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" LEGACY: true - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -630,7 +630,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dcf67d29dba..2bacbdd8ef4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: specs_checking: # 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 == 'workflow_dispatch' - runs-on: macos-12 + runs-on: macos-14 env: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} # The SDK repo will be cloned to this dir and podspecs from @@ -76,7 +76,7 @@ jobs: needs: specs_checking # Don't run on private repo unless it is a PR. if: github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 env: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} local_repo: specstesting @@ -113,7 +113,7 @@ jobs: needs: [buildup_SpecsTesting_repo_FirebaseCore, specs_checking] # Don't run on private repo unless it is a PR. if: github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: fail-fast: false matrix: ${{fromJson(needs.specs_checking.outputs.matrix)}} @@ -161,7 +161,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -199,7 +199,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -233,7 +233,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -282,7 +282,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -318,7 +318,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -360,7 +360,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -396,7 +396,7 @@ jobs: testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" LEGACY: true - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -436,7 +436,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -474,7 +474,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -510,7 +510,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -545,7 +545,7 @@ jobs: testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" LEGACY: true - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -581,7 +581,7 @@ jobs: bot_token_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} testing_repo_dir: "/tmp/test/" testing_repo: "firebase-ios-sdk" - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/remoteconfig.yml b/.github/workflows/remoteconfig.yml index 81997f52a9a..9bb193a529d 100644 --- a/.github/workflows/remoteconfig.yml +++ b/.github/workflows/remoteconfig.yml @@ -24,7 +24,7 @@ jobs: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [iOS, tvOS, macOS] @@ -61,10 +61,10 @@ jobs: # TODO: macos tests are blocked by https://github.com/erikdoe/ocmock/pull/532 target: [ios, tvos, macos --skip-tests, watchos] podspec: [FirebaseRemoteConfig.podspec, FirebaseRemoteConfigSwift.podspec --allow-warnings --skip-tests] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 tests: # Flaky tests on CI - os: macos-13 @@ -89,19 +89,16 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - test: spm - os: macos-13 xcode: Xcode_15.2 test: spmbuildonly - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 test: spmbuildonly - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS test: spm runs-on: ${{ matrix.os }} @@ -122,7 +119,7 @@ jobs: 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -140,7 +137,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -159,7 +156,7 @@ jobs: # env: # plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} # signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - # runs-on: macos-12 + # runs-on: macos-14 # steps: # - uses: actions/checkout@v4 # - uses: ruby/setup-ruby@v1 @@ -180,7 +177,7 @@ jobs: sample-build-test: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 @@ -197,7 +194,7 @@ jobs: remoteconfig-cron-only: # Don't run on private repo. if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 strategy: matrix: target: [ios, tvos, macos] diff --git a/.github/workflows/sessions-integration-tests.yml b/.github/workflows/sessions-integration-tests.yml index 71f586cc9ee..cafc5489978 100644 --- a/.github/workflows/sessions-integration-tests.yml +++ b/.github/workflows/sessions-integration-tests.yml @@ -25,7 +25,7 @@ jobs: if: github.repository == 'Firebase/firebase-ios-sdk' env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 diff --git a/.github/workflows/sessions.yml b/.github/workflows/sessions.yml index f0f8a405f92..1439b4f1d15 100644 --- a/.github/workflows/sessions.yml +++ b/.github/workflows/sessions.yml @@ -24,10 +24,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 tests: # Flaky tests on CI - os: macos-13 @@ -52,16 +52,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: @@ -80,7 +78,7 @@ jobs: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 diff --git a/.github/workflows/shared-swift.yml b/.github/workflows/shared-swift.yml index 50394c792da..4b1cbcb3383 100644 --- a/.github/workflows/shared-swift.yml +++ b/.github/workflows/shared-swift.yml @@ -24,10 +24,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -47,16 +47,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/spectesting.yml b/.github/workflows/spectesting.yml index fe1e0c042a5..97cf1bb4dcb 100644 --- a/.github/workflows/spectesting.yml +++ b/.github/workflows/spectesting.yml @@ -11,7 +11,7 @@ jobs: specs_checking: # Don't run on private repo unless it is a PR. if: github.repository == 'Firebase/firebase-ios-sdk' - runs-on: macos-12 + runs-on: macos-14 outputs: matrix: ${{ steps.check_files.outputs.matrix }} podspecs: ${{ steps.check_files.outputs.podspecs }} @@ -44,7 +44,7 @@ jobs: specs_testing: needs: specs_checking if: ${{ needs.specs_checking.outputs.podspecs != '[]' }} - runs-on: macos-12 + runs-on: macos-14 strategy: fail-fast: false matrix: ${{fromJson(needs.specs_checking.outputs.matrix)}} diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index 317f710f662..0989e525132 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -27,18 +27,15 @@ jobs: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' strategy: matrix: - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 - test: spm # The integration tests are slow and flaky on Xcode 15, so just build. - os: macos-13 - xcode: Xcode_15.2 + xcode: Xcode_15.3 test: spmbuildonly - os: macos-14 - xcode: Xcode_15.2 - test: spmbuildonly + xcode: Xcode_15.3 + test: spm runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -60,10 +57,10 @@ jobs: if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' strategy: matrix: - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} @@ -87,17 +84,15 @@ jobs: matrix: # Full set of Firebase-Package tests only run on iOS. Run subset on other platforms. target: [tvOS, macOS, catalyst] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 target: visionOS - xcode: Xcode_15.2 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 580e4bedd9d..f7ef1535299 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -24,8 +24,8 @@ jobs: matrix: language: [Swift, ObjC] include: - - os: macos-13 - xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} runs-on: ${{ matrix.os }} @@ -65,16 +65,14 @@ jobs: strategy: matrix: target: [iOS, tvOS, macOS, catalyst, watchOS] - os: [macos-12, macos-13, macos-14] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: @@ -98,8 +96,8 @@ jobs: strategy: matrix: include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - swift: swift os: macos-13 xcode: Xcode_15.2 @@ -128,7 +126,7 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} LEGACY: true - runs-on: macos-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 @@ -157,10 +155,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 tests: --skip-tests - os: macos-13 xcode: Xcode_15.2 @@ -186,10 +184,10 @@ jobs: strategy: matrix: target: [ios, tvos, macos, watchos] - os: [macos-12, macos-13] + os: [macos-14, macos-13] include: - - os: macos-12 - xcode: Xcode_14.2 + - os: macos-14 + xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 runs-on: ${{ matrix.os }} diff --git a/.github/workflows/symbolcollision.yml b/.github/workflows/symbolcollision.yml index a9088e17c18..f9ec43a62e7 100644 --- a/.github/workflows/symbolcollision.yml +++ b/.github/workflows/symbolcollision.yml @@ -20,7 +20,7 @@ jobs: installation-test: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/watchos-sample.yml b/.github/workflows/watchos-sample.yml index e4e30396280..7dd02ca6353 100644 --- a/.github/workflows/watchos-sample.yml +++ b/.github/workflows/watchos-sample.yml @@ -28,7 +28,7 @@ jobs: watchos-sample-build-test: # 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-12 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index 45578d33761..7b16de6064f 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -102,12 +102,12 @@ jobs: SDK: "ABTesting" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -163,12 +163,12 @@ jobs: SDK: "Authentication" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -216,12 +216,12 @@ jobs: SDK: "Config" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -267,12 +267,12 @@ jobs: SDK: "Crashlytics" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -397,12 +397,12 @@ jobs: SDK: "DynamicLinks" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -541,12 +541,12 @@ jobs: SDK: "InAppMessaging" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -597,12 +597,12 @@ jobs: SDK: "Messaging" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -652,12 +652,12 @@ jobs: SDK: "Storage" strategy: matrix: - os: [macos-12, macos-13] + os: [macos-13, macos-14] include: - - os: macos-12 - xcode: Xcode_14.2 - os: macos-13 xcode: Xcode_15.2 + - os: macos-14 + xcode: Xcode_15.3 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index 6e0742ddb29..4c915ab2840 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ For details on using Firebase from a Framework or a library, refer to [firebase_ To develop Firebase software in this repository, ensure that you have at least the following software: -* Xcode 14.1 (or later) +* Xcode 15.2 (or later) CocoaPods is still the canonical way to develop, but much of the repo now supports development with Swift Package Manager. diff --git a/ReleaseTooling/Template/README.md b/ReleaseTooling/Template/README.md index 2767e780572..e4b0262038f 100644 --- a/ReleaseTooling/Template/README.md +++ b/ReleaseTooling/Template/README.md @@ -10,7 +10,7 @@ Each Firebase component requires several xcframeworks in order to function properly. Each section below lists the xcframeworks you'll need to include in your project in order to use that Firebase SDK in your application. -Xcode 14.1 or newer is required. +Xcode 15.2 or newer is required. To integrate a Firebase SDK with your app: diff --git a/SwiftPackageManager.md b/SwiftPackageManager.md index 5d335e8ad22..1b8785ebacf 100644 --- a/SwiftPackageManager.md +++ b/SwiftPackageManager.md @@ -2,7 +2,7 @@ ## Requirements -- Requires Xcode 14.1 or above +- Requires Xcode 15.2 or above - Analytics requires clients to add `-ObjC` linker option. - See [Package.swift](Package.swift) for supported platform versions. From 43e4bce90ca3bc0b05638280209200c9cd9ffe49 Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Wed, 10 Apr 2024 14:53:30 -0700 Subject: [PATCH 02/11] fixes --- .github/workflows/performance.yml | 2 +- .github/workflows/spm.yml | 2 +- IntegrationTesting/ClientApp/Podfile | 2 +- Package.swift | 10 ++++++++-- SymbolCollisionTest/Podfile | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index 3ef89226b4a..cf1de5fc7f2 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -28,7 +28,7 @@ jobs: performance: # 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-14 + runs-on: macos-12 strategy: matrix: target: [iOS, tvOS] diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index 0989e525132..b1d7329e85c 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -31,7 +31,7 @@ jobs: include: # The integration tests are slow and flaky on Xcode 15, so just build. - os: macos-13 - xcode: Xcode_15.3 + xcode: Xcode_15.2 test: spmbuildonly - os: macos-14 xcode: Xcode_15.3 diff --git a/IntegrationTesting/ClientApp/Podfile b/IntegrationTesting/ClientApp/Podfile index 2a72d478739..50cf36c0833 100644 --- a/IntegrationTesting/ClientApp/Podfile +++ b/IntegrationTesting/ClientApp/Podfile @@ -3,7 +3,7 @@ source 'https://github.com/firebase/SpecsStaging.git' source 'https://cdn.cocoapods.org/' target 'ClientApp-CocoaPods' do - platform :ios, '11.0' + platform :ios, '12.0' use_frameworks! diff --git a/Package.swift b/Package.swift index 63467bde602..a0b75e1ac43 100644 --- a/Package.swift +++ b/Package.swift @@ -166,10 +166,16 @@ let package = Package( ), abseilDependency(), grpcDependency(), + // TODO: restore OCMock when https://github.com/erikdoe/ocmock/pull/537 + // gets merged to fix Xcode 15.3 builds. .package( - url: "https://github.com/erikdoe/ocmock.git", - revision: "c5eeaa6dde7c308a5ce48ae4d4530462dd3a1110" + url: "https://github.com/paulb777/ocmock.git", + revision: "173955e93e6ee6999a10729ab67e4b4efdd1db6d" ), +// .package( +// url: "https://github.com/erikdoe/ocmock.git", +// revision: "c5eeaa6dde7c308a5ce48ae4d4530462dd3a1110" +// ), .package( url: "https://github.com/firebase/leveldb.git", "1.22.2" ..< "1.23.0" diff --git a/SymbolCollisionTest/Podfile b/SymbolCollisionTest/Podfile index 6aa78470f56..f24b9e3bf57 100644 --- a/SymbolCollisionTest/Podfile +++ b/SymbolCollisionTest/Podfile @@ -40,7 +40,7 @@ target 'SymbolCollisionTest' do # Other Google Pods pod 'ARCore' # pod 'Blockly' `Blockly` does not specify a Swift version ... - pod 'DigitsMigrationHelper' +# pod 'DigitsMigrationHelper' Dependency Base64 doesn't build in Xcode 15 pod 'EarlGrey' # pod 'GeoFire' -- requires Firebase/Database 4.0 # pod 'google-cast-sdk' -- abseil From 65d76800088c3fd11427d3cd52e5937f632bd46e Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Wed, 10 Apr 2024 15:44:06 -0700 Subject: [PATCH 03/11] fixes --- .github/workflows/database.yml | 9 +++++++-- .github/workflows/firebase_app_check.yml | 3 --- .github/workflows/functions.yml | 6 ++---- .github/workflows/health-metrics-presubmit.yml | 3 ++- .github/workflows/messaging.yml | 6 ++---- .github/workflows/sessions-integration-tests.yml | 3 ++- .github/workflows/spm.yml | 9 +++++++-- .github/workflows/storage.yml | 8 ++++---- .../ClientApp/ClientApp.xcodeproj/project.pbxproj | 8 ++++---- SymbolCollisionTest/Podfile | 2 +- 10 files changed, 31 insertions(+), 26 deletions(-) diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml index 309c80ffbc0..406b04b1429 100644 --- a/.github/workflows/database.yml +++ b/.github/workflows/database.yml @@ -89,8 +89,13 @@ jobs: 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 DatabaseUnit ${{ matrix.target }} spm + - uses: nick-fields/retry@v3 + with: + timeout_minutes: 120 + max_attempts: 3 + retry_on: error + retry_wait_seconds: 120 + command: scripts/build.sh DatabaseUnit ${{ matrix.target }} spm - name: iOS Swift Unit Tests run: scripts/third_party/travis/retry.sh ./scripts/build.sh DatabaseUnitSwift ${{ matrix.target }} spm diff --git a/.github/workflows/firebase_app_check.yml b/.github/workflows/firebase_app_check.yml index 5ce8416d71c..c2775348cb3 100644 --- a/.github/workflows/firebase_app_check.yml +++ b/.github/workflows/firebase_app_check.yml @@ -25,13 +25,10 @@ jobs: 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 - os: macos-14 xcode: Xcode_15.3 - target: visionOS runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/functions.yml b/.github/workflows/functions.yml index 7e2d4bb50d0..0d5654d40eb 100644 --- a/.github/workflows/functions.yml +++ b/.github/workflows/functions.yml @@ -90,14 +90,12 @@ jobs: target: [iOS, tvOS, macOS, catalyst, watchOS] os: [macos-13, macos-14] include: - - os: macos-14 - xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/health-metrics-presubmit.yml b/.github/workflows/health-metrics-presubmit.yml index e962f7ce9a6..f43ec329fde 100644 --- a/.github/workflows/health-metrics-presubmit.yml +++ b/.github/workflows/health-metrics-presubmit.yml @@ -244,7 +244,8 @@ jobs: needs: check # Don't run on private repo unless it is a PR. if: always() && github.repository == 'Firebase/firebase-ios-sdk' && (needs.check.outputs.performance_run_job == 'true'|| github.event.pull_request.merged) - runs-on: macos-14 + # TODO(#11903) Update to macos-14 + runs-on: macos-12 strategy: matrix: target: [iOS] diff --git a/.github/workflows/messaging.yml b/.github/workflows/messaging.yml index c80a862754d..d6a3234f127 100644 --- a/.github/workflows/messaging.yml +++ b/.github/workflows/messaging.yml @@ -86,14 +86,12 @@ jobs: target: [iOS, watchOS, tvOS, macOS, catalyst] os: [macos-13, macos-14] include: - - os: macos-14 - xcode: Xcode_15.3 - os: macos-13 xcode: Xcode_15.2 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 - os: macos-14 - xcode: Xcode_15.2 + xcode: Xcode_15.3 target: visionOS runs-on: ${{ matrix.os }} steps: diff --git a/.github/workflows/sessions-integration-tests.yml b/.github/workflows/sessions-integration-tests.yml index cafc5489978..1033bb6739a 100644 --- a/.github/workflows/sessions-integration-tests.yml +++ b/.github/workflows/sessions-integration-tests.yml @@ -25,7 +25,8 @@ jobs: if: github.repository == 'Firebase/firebase-ios-sdk' env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-14 + #TODO: Fix macos-14 build issues + runs-on: macos-12 steps: - uses: actions/checkout@v4 - uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126 diff --git a/.github/workflows/spm.yml b/.github/workflows/spm.yml index b1d7329e85c..2628cde075c 100644 --- a/.github/workflows/spm.yml +++ b/.github/workflows/spm.yml @@ -48,8 +48,13 @@ jobs: run: scripts/setup_spm_tests.sh - name: Functions Integration Test Server run: FirebaseFunctions/Backend/start.sh synchronous - - name: iOS Unit Tests - run: scripts/third_party/travis/retry.sh ./scripts/build.sh Firebase-Package iOS ${{ matrix.test }} + - uses: nick-fields/retry@v3 + with: + timeout_minutes: 120 + max_attempts: 3 + retry_on: error + retry_wait_seconds: 120 + command: scripts/build.sh Firebase-Package iOS ${{ matrix.test }} # Test iOS Device build since some Firestore dependencies build different files. iOS-Device: diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index f7ef1535299..a4fc95ea83f 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -96,11 +96,11 @@ jobs: strategy: matrix: include: - - os: macos-14 - xcode: Xcode_15.3 - - swift: swift - os: macos-13 + - os: macos-13 xcode: Xcode_15.2 + - swift: swift + os: macos-14 + xcode: Xcode_15.3 env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} diff --git a/IntegrationTesting/ClientApp/ClientApp.xcodeproj/project.pbxproj b/IntegrationTesting/ClientApp/ClientApp.xcodeproj/project.pbxproj index 5d948e53cab..674d6f05100 100644 --- a/IntegrationTesting/ClientApp/ClientApp.xcodeproj/project.pbxproj +++ b/IntegrationTesting/ClientApp/ClientApp.xcodeproj/project.pbxproj @@ -658,7 +658,7 @@ "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.13; @@ -701,7 +701,7 @@ "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.13; @@ -741,7 +741,7 @@ "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.13; @@ -777,7 +777,7 @@ "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.13; diff --git a/SymbolCollisionTest/Podfile b/SymbolCollisionTest/Podfile index f24b9e3bf57..fa57666cf26 100644 --- a/SymbolCollisionTest/Podfile +++ b/SymbolCollisionTest/Podfile @@ -51,7 +51,7 @@ target 'SymbolCollisionTest' do pod 'GoogleAuthUtilities' pod 'GoogleConversionTracking' pod 'GoogleDataTransport' - pod 'GoogleIDFASupport' +# pod 'GoogleIDFASupport' Fails to build with Xcode 15 pod 'GoogleInterchangeUtilities' pod 'GoogleMaps' From 0c514d81ad4610d1d0c2bc270a8b460884bd3157 Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Thu, 11 Apr 2024 09:32:28 -0700 Subject: [PATCH 04/11] fixes, workarounds, and logging --- .github/workflows/firestore.yml | 9 ++++++--- .github/workflows/functions.yml | 3 ++- .github/workflows/performance.yml | 2 +- .github/workflows/storage.yml | 2 +- FirebaseCoreInternal.podspec | 2 +- FirebaseSessions/Sources/FirebaseSessions.swift | 8 +++++++- SymbolCollisionTest/Podfile | 2 +- scripts/build.sh | 1 + scripts/health_metrics/pod_test_code_coverage_report.sh | 2 +- 9 files changed, 21 insertions(+), 10 deletions(-) diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index d9381001929..552d8917973 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -105,7 +105,8 @@ jobs: (github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true') strategy: matrix: - os: [macos-14, ubuntu-latest] + # TODO: Update to macos-14 which doesn't include Python 3.7 + os: [macos-12, ubuntu-latest] env: MINT_PATH: ${{ github.workspace }}/mint @@ -152,7 +153,8 @@ jobs: strategy: matrix: - os: [macos-14] + # TODO: Update to macos-14 which doesn't include Python 3.7 + os: [macos-12] databaseId: [(default), test-db] env: @@ -239,7 +241,8 @@ jobs: strategy: matrix: - os: [macos-14] + # TODO: Update to macos-14 which doesn't include Python 3.7 + os: [macos-12] sanitizer: [asan, tsan] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/functions.yml b/.github/workflows/functions.yml index 0d5654d40eb..bf1a1359de7 100644 --- a/.github/workflows/functions.yml +++ b/.github/workflows/functions.yml @@ -117,7 +117,8 @@ jobs: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} LEGACY: true - runs-on: macos-14 + # TODO: Move to macos-14 and Xcode 15. The legacy quickstart uses material which doesn't build on Xcode 15. + runs-on: macos-12 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index cf1de5fc7f2..4e5ba16eb98 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -79,7 +79,7 @@ jobs: env: plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} signin_secret: ${{ secrets.GHASecretsGPGPassphrase1 }} - runs-on: macos-14 + runs-on: macos-12 # TODO: the legacy ObjC quickstarts don't run with Xcode 15. steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index a4fc95ea83f..b733ad370c2 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -97,7 +97,7 @@ jobs: matrix: include: - os: macos-13 - xcode: Xcode_15.2 + xcode: Xcode_14.2 # TODO: the legacy ObjC quickstart doesn't build with Xcode 15. - swift: swift os: macos-14 xcode: Xcode_15.3 diff --git a/FirebaseCoreInternal.podspec b/FirebaseCoreInternal.podspec index 66cb7343f90..b93f75d680e 100644 --- a/FirebaseCoreInternal.podspec +++ b/FirebaseCoreInternal.podspec @@ -44,7 +44,7 @@ Pod::Spec.new do |s| unit_tests.scheme = { :code_coverage => true } unit_tests.platforms = { :ios => ios_deployment_target, - :osx => osx_deployment_target, + :osx => '10.15', :tvos => tvos_deployment_target } unit_tests.source_files = [ diff --git a/FirebaseSessions/Sources/FirebaseSessions.swift b/FirebaseSessions/Sources/FirebaseSessions.swift index d6cd130102c..452dbafd064 100644 --- a/FirebaseSessions/Sources/FirebaseSessions.swift +++ b/FirebaseSessions/Sources/FirebaseSessions.swift @@ -18,7 +18,13 @@ import Foundation @_implementationOnly import FirebaseCoreExtension @_implementationOnly import FirebaseInstallations @_implementationOnly import GoogleDataTransport -@_implementationOnly import Promises +#if swift(>=6.0) + internal import Promises +#elseif swift(>=5.10) + import Promises +#else + @_implementationOnly import Promises +#endif private enum GoogleDataTransportConfig { static let sessionsLogSource = "1974" diff --git a/SymbolCollisionTest/Podfile b/SymbolCollisionTest/Podfile index fa57666cf26..e21d21848d1 100644 --- a/SymbolCollisionTest/Podfile +++ b/SymbolCollisionTest/Podfile @@ -49,7 +49,7 @@ target 'SymbolCollisionTest' do pod 'GoogleAppIndexing' pod 'GoogleAppUtilities' pod 'GoogleAuthUtilities' - pod 'GoogleConversionTracking' +# pod 'GoogleConversionTracking' Fails to build with Xcode 15 pod 'GoogleDataTransport' # pod 'GoogleIDFASupport' Fails to build with Xcode 15 pod 'GoogleInterchangeUtilities' diff --git a/scripts/build.sh b/scripts/build.sh index d4caa635ebf..98d46fac571 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -24,6 +24,7 @@ function pod_gen() { } set -euo pipefail +set -x if [[ $# -lt 1 ]]; then cat 1>&2 < Date: Thu, 11 Apr 2024 13:38:10 -0700 Subject: [PATCH 05/11] style and more logging --- .github/workflows/database.yml | 9 ++------- .github/workflows/firestore.yml | 3 ++- .github/workflows/spectesting.yml | 3 ++- .github/workflows/storage.yml | 2 +- FirebaseSessions/Sources/FirebaseSessions.swift | 1 + SymbolCollisionTest/Podfile | 2 +- scripts/build.sh | 5 ++++- 7 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml index 406b04b1429..309c80ffbc0 100644 --- a/.github/workflows/database.yml +++ b/.github/workflows/database.yml @@ -89,13 +89,8 @@ jobs: run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer - name: Initialize xcodebuild run: scripts/setup_spm_tests.sh - - uses: nick-fields/retry@v3 - with: - timeout_minutes: 120 - max_attempts: 3 - retry_on: error - retry_wait_seconds: 120 - command: scripts/build.sh DatabaseUnit ${{ matrix.target }} spm + - name: Unit Tests + run: scripts/third_party/travis/retry.sh ./scripts/build.sh DatabaseUnit ${{ matrix.target }} spm - name: iOS Swift Unit Tests run: scripts/third_party/travis/retry.sh ./scripts/build.sh DatabaseUnitSwift ${{ matrix.target }} spm diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index 552d8917973..ff33f06db52 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -326,7 +326,8 @@ jobs: if: | (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || (github.event_name == 'pull_request' && needs.changes.outputs.changed == 'true') - runs-on: macos-14 + # TODO: macOS 14 blocked on https://github.com/grpc/grpc/pull/36340 + runs-on: macos-12 needs: check strategy: diff --git a/.github/workflows/spectesting.yml b/.github/workflows/spectesting.yml index 97cf1bb4dcb..52891d51ac8 100644 --- a/.github/workflows/spectesting.yml +++ b/.github/workflows/spectesting.yml @@ -44,7 +44,8 @@ jobs: specs_testing: needs: specs_checking if: ${{ needs.specs_checking.outputs.podspecs != '[]' }} - runs-on: macos-14 + # TODO: macOS 14 blocked on https://github.com/grpc/grpc/pull/36340 + runs-on: macos-12 strategy: fail-fast: false matrix: ${{fromJson(needs.specs_checking.outputs.matrix)}} diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index b733ad370c2..a651334bb99 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -117,7 +117,7 @@ jobs: - 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 true ${{ matrix.swift }}) + 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. diff --git a/FirebaseSessions/Sources/FirebaseSessions.swift b/FirebaseSessions/Sources/FirebaseSessions.swift index 452dbafd064..d04162acc5e 100644 --- a/FirebaseSessions/Sources/FirebaseSessions.swift +++ b/FirebaseSessions/Sources/FirebaseSessions.swift @@ -18,6 +18,7 @@ import Foundation @_implementationOnly import FirebaseCoreExtension @_implementationOnly import FirebaseInstallations @_implementationOnly import GoogleDataTransport + #if swift(>=6.0) internal import Promises #elseif swift(>=5.10) diff --git a/SymbolCollisionTest/Podfile b/SymbolCollisionTest/Podfile index e21d21848d1..02f47ed299f 100644 --- a/SymbolCollisionTest/Podfile +++ b/SymbolCollisionTest/Podfile @@ -46,7 +46,7 @@ target 'SymbolCollisionTest' do # pod 'google-cast-sdk' -- abseil pod 'Google-Mobile-Ads-SDK' pod 'GoogleAnalytics' - pod 'GoogleAppIndexing' +# pod 'GoogleAppIndexing' Fails to build with Xcode 15 pod 'GoogleAppUtilities' pod 'GoogleAuthUtilities' # pod 'GoogleConversionTracking' Fails to build with Xcode 15 diff --git a/scripts/build.sh b/scripts/build.sh index 98d46fac571..8ec8490a7b0 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -94,9 +94,12 @@ database_emulator="${scripts_dir}/run_database_emulator.sh" system=$(uname -s) case "$system" in Darwin) - xcode_version=$(xcodebuild -version | head -n 1) + xcode_version=$(xcodebuild -version | grep Xcode) + echo $xcode_version xcode_version="${xcode_version/Xcode /}" + echo $xcode_version xcode_major="${xcode_version/.*/}" + echo $xcode_major ;; *) xcode_major="0" From e2f6ec1dc559b707d5fe106583bd044438cee39e Mon Sep 17 00:00:00 2001 From: Paul Beusterien Date: Thu, 11 Apr 2024 15:47:30 -0700 Subject: [PATCH 06/11] fixes and disable logging --- .github/workflows/inappmessaging.yml | 3 ++- FirebaseCoreInternal.podspec | 4 ++-- .../Base.lproj/Main.storyboard | 2 +- .../InAppMessagingDisplayModalViewUITests.swift | 2 +- .../InAppMessaging_Example_iOS_SwiftUITests.swift | 2 +- SymbolCollisionTest/Podfile | 13 ------------- scripts/build.sh | 4 ---- 7 files changed, 7 insertions(+), 23 deletions(-) diff --git a/.github/workflows/inappmessaging.yml b/.github/workflows/inappmessaging.yml index 17bdac76d8a..ba947439278 100644 --- a/.github/workflows/inappmessaging.yml +++ b/.github/workflows/inappmessaging.yml @@ -45,7 +45,8 @@ jobs: # 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-14 +# TODO: Update to macos-14 when tests are updated for Xcode 15. + runs-on: macos-12 strategy: matrix: # TODO(#8682): Reenable iPad after fixing Xcode 13 test failures. diff --git a/FirebaseCoreInternal.podspec b/FirebaseCoreInternal.podspec index b93f75d680e..2cb42104375 100644 --- a/FirebaseCoreInternal.podspec +++ b/FirebaseCoreInternal.podspec @@ -43,9 +43,9 @@ Pod::Spec.new do |s| s.test_spec 'Unit' do |unit_tests| unit_tests.scheme = { :code_coverage => true } unit_tests.platforms = { - :ios => ios_deployment_target, + :ios => '13.0', :osx => '10.15', - :tvos => tvos_deployment_target + :tvos => '13.0' } unit_tests.source_files = [ 'FirebaseCore/Internal/Tests/Unit/**/*.swift', diff --git a/FirebaseInAppMessaging/Tests/Integration/DefaultUITestApp/FiamDisplaySwiftExample/Base.lproj/Main.storyboard b/FirebaseInAppMessaging/Tests/Integration/DefaultUITestApp/FiamDisplaySwiftExample/Base.lproj/Main.storyboard index 0c3d89c71d5..27330d75073 100644 --- a/FirebaseInAppMessaging/Tests/Integration/DefaultUITestApp/FiamDisplaySwiftExample/Base.lproj/Main.storyboard +++ b/FirebaseInAppMessaging/Tests/Integration/DefaultUITestApp/FiamDisplaySwiftExample/Base.lproj/Main.storyboard @@ -148,7 +148,7 @@