From 670a77527e8d16d9c6c56b13be06d73872e30cec Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Tue, 27 Oct 2026 19:24:20 -0400 Subject: [PATCH 1/2] fix(ci): add Xcode 27.1 to workflow matrices --- .github/workflows/abtesting.yml | 5 ++++- .github/workflows/analytics.yml | 5 ++++- .github/workflows/authentication.yml | 5 ++++- .github/workflows/config.yml | 5 ++++- .github/workflows/crashlytics.yml | 5 ++++- .github/workflows/database.yml | 10 ++++++++-- .github/workflows/firebaseai.yml | 5 ++++- .github/workflows/firestore.yml | 8 +++++--- .github/workflows/functions.yml | 5 ++++- .github/workflows/inappmessaging.yml | 5 ++++- .github/workflows/installations.yml | 5 ++++- .github/workflows/messaging.yml | 5 ++++- .github/workflows/performance.yml | 10 ++++++++-- .github/workflows/storage.yml | 5 ++++- 14 files changed, 65 insertions(+), 18 deletions(-) diff --git a/.github/workflows/abtesting.yml b/.github/workflows/abtesting.yml index 4b01f6870..18a292dd2 100644 --- a/.github/workflows/abtesting.yml +++ b/.github/workflows/abtesting.yml @@ -37,16 +37,19 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] os: [iOS, tvOS, macOS, watchOS, catalyst] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 - os: iOS # Test runs locally but fails in CI with: # (Underlying Error: lstat of diff --git a/.github/workflows/analytics.yml b/.github/workflows/analytics.yml index cf1eeb00d..9303e220d 100644 --- a/.github/workflows/analytics.yml +++ b/.github/workflows/analytics.yml @@ -33,18 +33,21 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: # TODO: Re-enable when ODM2 catalyst support is investigated # os: [iOS, catalyst, tvOS, macOS] os: [iOS, tvOS, macOS] - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 - os: iOS test: true # TODO: Re-enable when ODM2 catalyst support is investigated diff --git a/.github/workflows/authentication.yml b/.github/workflows/authentication.yml index 84e2a79ab..5b354ec12 100644 --- a/.github/workflows/authentication.yml +++ b/.github/workflows/authentication.yml @@ -33,15 +33,18 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: OS: iOS SETUP: authentication diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index cdb3028b5..7e4f1396e 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -33,15 +33,18 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: OS: iOS DIR: config diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index 5fa9902d4..ea7b336ca 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -33,16 +33,19 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] os: [iOS, tvOS, macOS, watchOS] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 - os: iOS test: false # flaky - os: tvOS diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml index 95eb00272..6c3d40fdc 100644 --- a/.github/workflows/database.yml +++ b/.github/workflows/database.yml @@ -33,15 +33,18 @@ jobs: spm-buildonly: name: spm (Xcode ${{ matrix.xcode }} - non-SwiftUI) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: OS: iOS SPM: true @@ -68,16 +71,19 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] os: [iOS, tvOS, macOS] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 - os: iOS test: false - os: tvOS diff --git a/.github/workflows/firebaseai.yml b/.github/workflows/firebaseai.yml index 0118dc46e..56737c759 100644 --- a/.github/workflows/firebaseai.yml +++ b/.github/workflows/firebaseai.yml @@ -24,15 +24,18 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: SETUP: firebaseai SPM: true diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index 13ed7aff3..d2f933a3a 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -33,18 +33,20 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} - # TODO: Remove continue-on-error once firebase-ios-sdk 13.2.0 is released + # TODO: Remove 26.2 from continue-on-error once firebase-ios-sdk 13.2.0 is released # with the Xcode 26.2 package traits workaround (firebase/firebase-ios-sdk#16944). - continue-on-error: ${{ matrix.xcode == '26.2' }} + continue-on-error: ${{ matrix.xcode == '26.2' || matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: SPM: true OS: iOS diff --git a/.github/workflows/functions.yml b/.github/workflows/functions.yml index 5c894d3c1..8f0bf3cd2 100644 --- a/.github/workflows/functions.yml +++ b/.github/workflows/functions.yml @@ -33,16 +33,19 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] os: [iOS, tvOS, macOS] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: SETUP: functions SPM: true diff --git a/.github/workflows/inappmessaging.yml b/.github/workflows/inappmessaging.yml index 214414132..2e4a768be 100644 --- a/.github/workflows/inappmessaging.yml +++ b/.github/workflows/inappmessaging.yml @@ -33,15 +33,18 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: SPM: true DIR: inappmessaging diff --git a/.github/workflows/installations.yml b/.github/workflows/installations.yml index 6c713e9d4..74bf2634f 100644 --- a/.github/workflows/installations.yml +++ b/.github/workflows/installations.yml @@ -33,15 +33,18 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: SPM: true OS: iOS diff --git a/.github/workflows/messaging.yml b/.github/workflows/messaging.yml index 3cea449eb..0e629c2e4 100644 --- a/.github/workflows/messaging.yml +++ b/.github/workflows/messaging.yml @@ -33,15 +33,18 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: SPM: true OS: iOS diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index c83de0392..e94001936 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -33,15 +33,18 @@ jobs: spm-buildonly: name: spm (Xcode ${{ matrix.xcode }}) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: SPM: true OS: iOS @@ -68,16 +71,19 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] os: [iOS, tvOS] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 - os: iOS test: false scheme: PerformanceExample (iOS) diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 13a46964a..5e5d1ec7e 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -33,16 +33,19 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} + continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: - xcode: ["26.2", "26.4"] + xcode: ["26.2", "26.4", "27.1"] os: [iOS, tvOS, macOS] include: - xcode: "26.2" runner: macos-15 - xcode: "26.4" runner: macos-26 + - xcode: "27.1" + runner: xcode-27 env: SETUP: storage SPM: true From 73e2a058c11145716f8c294d01e0069c6e1ca0ac Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 28 Oct 2026 15:04:03 -0400 Subject: [PATCH 2/2] ci: enforce Xcode 27.1 workflow checks without continue-on-error --- .github/workflows/abtesting.yml | 1 - .github/workflows/analytics.yml | 1 - .github/workflows/authentication.yml | 1 - .github/workflows/config.yml | 1 - .github/workflows/crashlytics.yml | 1 - .github/workflows/database.yml | 2 -- .github/workflows/firebaseai.yml | 1 - .github/workflows/firestore.yml | 2 +- .github/workflows/functions.yml | 1 - .github/workflows/inappmessaging.yml | 1 - .github/workflows/installations.yml | 1 - .github/workflows/messaging.yml | 1 - .github/workflows/performance.yml | 2 -- .github/workflows/storage.yml | 1 - 14 files changed, 1 insertion(+), 16 deletions(-) diff --git a/.github/workflows/abtesting.yml b/.github/workflows/abtesting.yml index 18a292dd2..3f9489211 100644 --- a/.github/workflows/abtesting.yml +++ b/.github/workflows/abtesting.yml @@ -37,7 +37,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/analytics.yml b/.github/workflows/analytics.yml index 9303e220d..ef91efdcf 100644 --- a/.github/workflows/analytics.yml +++ b/.github/workflows/analytics.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/authentication.yml b/.github/workflows/authentication.yml index 5b354ec12..f09e1391e 100644 --- a/.github/workflows/authentication.yml +++ b/.github/workflows/authentication.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/config.yml b/.github/workflows/config.yml index 7e4f1396e..96f8c9a22 100644 --- a/.github/workflows/config.yml +++ b/.github/workflows/config.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/crashlytics.yml b/.github/workflows/crashlytics.yml index ea7b336ca..28f89a8ac 100644 --- a/.github/workflows/crashlytics.yml +++ b/.github/workflows/crashlytics.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml index 6c3d40fdc..0424bc338 100644 --- a/.github/workflows/database.yml +++ b/.github/workflows/database.yml @@ -33,7 +33,6 @@ jobs: spm-buildonly: name: spm (Xcode ${{ matrix.xcode }} - non-SwiftUI) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: @@ -71,7 +70,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/firebaseai.yml b/.github/workflows/firebaseai.yml index 56737c759..1f6ae5e55 100644 --- a/.github/workflows/firebaseai.yml +++ b/.github/workflows/firebaseai.yml @@ -24,7 +24,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml index d2f933a3a..d23ba98ed 100644 --- a/.github/workflows/firestore.yml +++ b/.github/workflows/firestore.yml @@ -35,7 +35,7 @@ jobs: runs-on: ${{ matrix.runner }} # TODO: Remove 26.2 from continue-on-error once firebase-ios-sdk 13.2.0 is released # with the Xcode 26.2 package traits workaround (firebase/firebase-ios-sdk#16944). - continue-on-error: ${{ matrix.xcode == '26.2' || matrix.xcode == '27.1' }} + continue-on-error: ${{ matrix.xcode == '26.2' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/functions.yml b/.github/workflows/functions.yml index 8f0bf3cd2..d3f170c29 100644 --- a/.github/workflows/functions.yml +++ b/.github/workflows/functions.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/inappmessaging.yml b/.github/workflows/inappmessaging.yml index 2e4a768be..3584da1d8 100644 --- a/.github/workflows/inappmessaging.yml +++ b/.github/workflows/inappmessaging.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/installations.yml b/.github/workflows/installations.yml index 74bf2634f..783ea5340 100644 --- a/.github/workflows/installations.yml +++ b/.github/workflows/installations.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/messaging.yml b/.github/workflows/messaging.yml index 0e629c2e4..738190d03 100644 --- a/.github/workflows/messaging.yml +++ b/.github/workflows/messaging.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - iOS) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index e94001936..5402f8f95 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -33,7 +33,6 @@ jobs: spm-buildonly: name: spm (Xcode ${{ matrix.xcode }}) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: @@ -71,7 +70,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml index 5e5d1ec7e..9d169351d 100644 --- a/.github/workflows/storage.yml +++ b/.github/workflows/storage.yml @@ -33,7 +33,6 @@ jobs: spm: name: spm (Xcode ${{ matrix.xcode }} - ${{ matrix.os }}) runs-on: ${{ matrix.runner }} - continue-on-error: ${{ matrix.xcode == '27.1' }} strategy: fail-fast: false matrix: