More CI updates for Xcode 16 minimum (#14655)

Co-authored-by: Nick Cooke <nickcooke@google.com>
This commit is contained in:
Paul BeusterienandNick Cooke authored and GitHub committed 2025-04-09 16:00:15 -07:00
1 parent 164c278d0a
commit 0b6091c6ca
16 files changed
+54 -79

No files matched your search

+4 -4
View File
@@ -24,12 +24,12 @@ jobs:
strategy:
matrix:
target: [ios, tvos, macos]
os: [macos-14, macos-13]
os: [macos-14, macos-15]
include:
- os: macos-14
xcode: Xcode_15.3
- os: macos-13
xcode: Xcode_15.2
xcode: Xcode_16.2
- os: macos-15
xcode: Xcode_16.3
runs-on: ${{ matrix.os }}
steps:
+5 -9
View File
@@ -23,12 +23,10 @@ jobs:
strategy:
matrix:
include:
- os: macos-13
xcode: Xcode_15.2
- os: macos-14
xcode: Xcode_15.4
- os: macos-15
xcode: Xcode_16.2
- os: macos-16
xcode: Xcode_16.3
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
@@ -72,12 +70,10 @@ jobs:
strategy:
matrix:
include:
- os: macos-13
xcode: Xcode_15.2
- os: macos-14
xcode: Xcode_15.4
- os: macos-15
xcode: Xcode_16.2
- os: macos-15
xcode: Xcode_16.3
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
@@ -113,7 +109,7 @@ jobs:
appdistribution-cron-only:
if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
runs-on: macos-14
runs-on: macos-15
strategy:
matrix:
target: [ios]
+2 -2
View File
@@ -20,7 +20,7 @@ jobs:
# Don't run on private repo.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule')
runs-on: macos-14
runs-on: macos-15
strategy:
matrix:
# These need to be on a single line or else the formatting won't validate.
@@ -42,7 +42,7 @@ jobs:
# Don't run on private repo.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule')
runs-on: macos-14
runs-on: macos-15
strategy:
matrix:
target: [ios, tvos, macos]
+12 -44
View File
@@ -30,8 +30,8 @@ jobs:
matrix:
podspec: [FirebaseAuthInterop.podspec, FirebaseAuth.podspec]
target: [ios, tvos, macos --skip-tests, watchos]
os: [macos-14]
xcode: [Xcode_15.2]
os: [macos-15]
xcode: [Xcode_16.3]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
@@ -50,39 +50,10 @@ jobs:
retry_wait_seconds: 120
command: scripts/pod_lib_lint.rb ${{ matrix.podspec }} --platforms=${{ matrix.target }} ${{ matrix.tests }}
# TODO: Fix warnings on Xcode 16 and move into matrix above.
pod-lib-lint-xc16:
# 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:
podspec: [FirebaseAuthInterop.podspec, FirebaseAuth.podspec]
target: [ios, tvos, macos --skip-tests --allow-warnings, watchos]
os: [macos-15]
xcode: [Xcode_16.2]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Configure test keychain
run: scripts/configure_test_keychain.sh
- name: Xcode
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.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/pod_lib_lint.rb ${{ matrix.podspec }} --platforms=${{ matrix.target }} ${{ matrix.tests }} --allow-warnings
spm-package-resolved:
env:
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
runs-on: macos-14
runs-on: macos-15
outputs:
cache_key: ${{ steps.generate_cache_key.outputs.cache_key }}
steps:
@@ -109,29 +80,26 @@ jobs:
strategy:
matrix:
include:
- os: macos-13
xcode: Xcode_15.2
target: iOS spm
- os: macos-14
xcode: Xcode_15.4
target: iOS spm
- os: macos-15
xcode: Xcode_16.2
target: iOS spm
- os: macos-15
xcode: Xcode_16.2
xcode: Xcode_16.3
target: iOS spm
- os: macos-15
xcode: Xcode_16.3
target: tvOS spm
- os: macos-15
xcode: Xcode_16.2
xcode: Xcode_16.3
target: macOS spmbuildonly
- os: macos-15
xcode: Xcode_16.2
xcode: Xcode_16.3
target: watchOS spm
- os: macos-15
xcode: Xcode_16.2
xcode: Xcode_16.3
target: catalyst spm
- os: macos-15
xcode: Xcode_16.2
xcode: Xcode_16.3
target: visionOS spm
runs-on: ${{ matrix.os }}
steps:
@@ -272,7 +240,7 @@ jobs:
# Don't run on private repo.
if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
runs-on: macos-14
runs-on: macos-15
strategy:
matrix:
# The macos and tvos tests can hang, and watchOS doesn't have tests.
+3
View File
@@ -27,6 +27,7 @@ jobs:
client-app-spm:
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
strategy:
# TODO: Add Xcode matrix when Xcode 16 is ubiquitous on CI runners.
matrix:
#TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
platform: [iOS]
@@ -49,6 +50,7 @@ jobs:
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
FIREBASE_SOURCE_FIRESTORE: 1
strategy:
# TODO: Add Xcode matrix when Xcode 16 is ubiquitous on CI runners.
matrix:
#TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
platform: [iOS]
@@ -69,6 +71,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'
strategy:
# TODO: Add Xcode matrix when Xcode 16 is ubiquitous on CI runners.
matrix:
scheme: [ClientApp-CocoaPods]
os: [macos-14, macos-15]
+2 -3
View File
@@ -18,10 +18,9 @@ concurrency:
jobs:
tests:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
|| github.event_name == 'workflow_dispatch'
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
runs-on: macos-14
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
+2 -2
View File
@@ -49,7 +49,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-14
runs-on: macos-15
strategy:
matrix:
@@ -77,7 +77,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-14
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
+8 -1
View File
@@ -28,6 +28,9 @@ jobs:
xcode: Xcode_16.2
- os: macos-15
xcode: Xcode_16.2
# TODO: Add Xcode matrix when Xcode 16 is ubiquitous on CI runners.
# - os: macos-15
# xcode: Xcode_16.3
runs-on: ${{ matrix.build-env.os }}
steps:
- uses: actions/checkout@v4
@@ -42,7 +45,7 @@ jobs:
spm-package-resolved:
env:
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
runs-on: macos-14
runs-on: macos-15
outputs:
cache_key: ${{ steps.generate_cache_key.outputs.cache_key }}
steps:
@@ -70,6 +73,7 @@ jobs:
needs: [spm-package-resolved]
strategy:
matrix:
# TODO: Add Xcode matrix when Xcode 16 is ubiquitous on CI runners.
include:
- os: macos-14
xcode: Xcode_16.2
@@ -77,6 +81,9 @@ jobs:
- os: macos-15
xcode: Xcode_16.2
target: iOS
- os: macos-15
xcode: Xcode_16.2
target: iOS
- os: macos-15
xcode: Xcode_16.2
target: tvOS
+4 -1
View File
@@ -26,6 +26,9 @@ jobs:
xcode: Xcode_16.2
- os: macos-15
xcode: Xcode_16.2
# TODO: Enable when Xcode 16 is ubiquitous on CI runners.
# - os: macos-15
# xcode: Xcode_16.3
runs-on: ${{ matrix.build-env.os }}
steps:
- uses: actions/checkout@v4
@@ -40,7 +43,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-14
runs-on: macos-15
strategy:
matrix:
target: [ios, tvos, macos]
@@ -17,8 +17,7 @@ import FirebaseInstallations
import Foundation
import UIKit
// Avoids exposing internal APIs to Swift users
@_implementationOnly import FirebaseCoreInternal
internal import FirebaseCoreInternal
enum Strings {
static let errorDomain = "com.firebase.appdistribution.api"
@@ -15,7 +15,7 @@
import Foundation
@_implementationOnly import FirebaseCoreExtension
internal import FirebaseCoreExtension
///
/// Logger is responsible for printing console logs
+3 -3
View File
@@ -19,10 +19,10 @@ import FirebaseAuthInterop
import FirebaseCore
import FirebaseCoreExtension
#if COCOAPODS
@_implementationOnly import GoogleUtilities
internal import GoogleUtilities
#else
@_implementationOnly import GoogleUtilities_AppDelegateSwizzler
@_implementationOnly import GoogleUtilities_Environment
internal import GoogleUtilities_AppDelegateSwizzler
internal import GoogleUtilities_Environment
#endif
#if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst)
@@ -14,9 +14,9 @@
import Foundation
#if COCOAPODS
@_implementationOnly import GoogleUtilities
internal import GoogleUtilities
#else
@_implementationOnly import GoogleUtilities_Environment
internal import GoogleUtilities_Environment
#endif
#if os(iOS)
@@ -17,9 +17,9 @@
import UIKit
#if COCOAPODS
@_implementationOnly import GoogleUtilities
internal import GoogleUtilities
#else
@_implementationOnly import GoogleUtilities_Environment
internal import GoogleUtilities_Environment
#endif // COCOAPODS
// Protocol to help with unit tests.
@@ -17,9 +17,9 @@
import Foundation
import UIKit
#if COCOAPODS
@_implementationOnly import GoogleUtilities
internal import GoogleUtilities
#else
@_implementationOnly import GoogleUtilities_Environment
internal import GoogleUtilities_Environment
#endif
/// Class responsible for providing a default AuthUIDelegate.
@@ -27,7 +27,7 @@ function runXcodebuild() {
-workspace 'CocoapodsIntegrationTest.xcworkspace'
-scheme 'CocoapodsIntegrationTest'
-sdk 'iphonesimulator'
-destination 'platform=iOS Simulator,name=iPhone 15'
-destination 'platform=iOS Simulator,name=iPhone 16'
CODE_SIGNING_REQUIRED=NO
clean
build