Skip to content

Commit abf77ea

Browse files
committed
infra: move CI to use Xcode 26 and macOS 26
1 parent 96b1d14 commit abf77ea

17 files changed

+84
-75
lines changed

.github/workflows/_build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ on:
2626
xcode:
2727
required: false
2828
type: string
29-
default: 'Xcode_16.4'
29+
default: 'Xcode_26.4'
3030
os:
3131
required: false
3232
type: string
33-
default: 'macos-15'
33+
default: 'macos-26'
3434
timeout_minutes:
3535
required: false
3636
type: number

.github/workflows/_catalyst.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ jobs:
2727
catalyst:
2828
# Run on the main repo's scheduled jobs or pull requests and manual workflow invocations.
2929
if: (github.repository == 'firebase/firebase-ios-sdk' && github.event_name == 'schedule') || contains(fromJSON('["pull_request", "workflow_dispatch"]'), github.event_name)
30-
runs-on: macos-15
30+
runs-on: macos-26
3131
steps:
3232
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3333
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
3434
- name: Setup Bundler
3535
run: scripts/setup_bundler.sh
3636
- name: Xcode
37-
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
37+
run: sudo xcode-select -s /Applications/Xcode_26.4.app/Contents/Developer
3838
- uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3
3939
with:
4040
timeout_minutes: 20

.github/workflows/_cocoapods.cron.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ on:
3838
xcode:
3939
type: string
4040
required: false
41-
default: "Xcode_16.4"
41+
default: "Xcode_26.2"
4242

4343
# The runner to use.
4444
runs_on:

.github/workflows/_cocoapods.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,13 +124,13 @@ jobs:
124124
fail-fast: false
125125
matrix:
126126
os: [macos-15, macos-26]
127-
xcode: [Xcode_16.4, Xcode_26.2]
127+
xcode: [Xcode_26.2, Xcode_26.4]
128128
platform: [iOS, tvOS, macOS, watchOS]
129129
exclude:
130130
- os: macos-15
131-
xcode: Xcode_26.2
131+
xcode: Xcode_26.4
132132
- os: macos-26
133-
xcode: Xcode_16.4
133+
xcode: Xcode_26.2
134134
runs-on: ${{ matrix.os }}
135135
steps:
136136
- name: Skip, if applicable.

.github/workflows/_quickstart.framework.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ on:
4141
os:
4242
required: false
4343
type: string
44-
default: macos-15
44+
default: macos-26
4545
# The version of Xcode to use.
4646
xcode:
4747
required: false
4848
type: string
49-
default: Xcode_16.4
49+
default: Xcode_26.4
5050
secrets:
5151
# The passphrase for decrypting the GoogleService-Info.plist.
5252
plist_secret:

.github/workflows/_quickstart.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
plist_secret: ${{ secrets.plist_secret }}
7070
QUICKSTART_BRANCH: ${{ inputs.quickstart_branch }}
7171
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
72-
runs-on: macos-15
72+
runs-on: macos-26
7373
steps:
7474
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
7575
with:
@@ -78,7 +78,7 @@ jobs:
7878
- name: Prereqs
7979
run: gem install xcpretty
8080
- name: Xcode
81-
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
81+
run: sudo xcode-select -s /Applications/Xcode_26.4.app/Contents/Developer
8282
- name: Run setup command.
8383
run: ${{ inputs.setup_command }}
8484
- name: Install Secret GoogleService-Info.plist

.github/workflows/_spm.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,13 @@ jobs:
6767
spm-package-resolved:
6868
env:
6969
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
70-
runs-on: macos-15
70+
runs-on: macos-26
7171
outputs:
7272
cache_key: ${{ steps.generate_cache_key.outputs.cache_key }}
7373
steps:
7474
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
7575
- name: Xcode
76-
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
76+
run: sudo xcode-select -s /Applications/Xcode_26.4.app/Contents/Developer
7777
- name: Generate Swift Package.resolved
7878
id: swift_package_resolve
7979
run: swift package resolve
@@ -98,13 +98,13 @@ jobs:
9898
fail-fast: false
9999
matrix:
100100
os: [macos-15, macos-26]
101-
xcode: [Xcode_16.4, Xcode_26.2]
101+
xcode: [Xcode_26.2, Xcode_26.4]
102102
platform: [iOS, tvOS, macOS, watchOS, catalyst, visionOS]
103103
exclude:
104104
- os: macos-15
105-
xcode: Xcode_26.2
105+
xcode: Xcode_26.4
106106
- os: macos-26
107-
xcode: Xcode_16.4
107+
xcode: Xcode_26.2
108108
runs-on: ${{ matrix.os }}
109109
steps:
110110
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

.github/workflows/infra.archiving.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ jobs:
2222
pods-ios-only-cron:
2323
# Don't run on private repo.
2424
if: github.repository == 'Firebase/firebase-ios-sdk'
25-
runs-on: macos-15
25+
runs-on: macos-26
2626
strategy:
2727
matrix:
2828
# These need to be on a single line or else the formatting won't validate.
2929
pod: ["FirebaseAppDistribution", "FirebaseInAppMessaging", "FirebasePerformance"]
3030
steps:
3131
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3232
- name: Set Xcode version
33-
run: sudo xcode-select -s /Applications/Xcode_16.4.app
33+
run: sudo xcode-select -s /Applications/Xcode_26.4.app/Contents/Developer
3434
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
3535
- name: Setup Bundler
3636
run: scripts/setup_bundler.sh
@@ -47,7 +47,7 @@ jobs:
4747
pods-ios-tvos-macos-cron:
4848
# Don't run on private repo.
4949
if: github.repository == 'Firebase/firebase-ios-sdk'
50-
runs-on: macos-15
50+
runs-on: macos-26
5151
strategy:
5252
matrix:
5353
target: [ios, tvos, macos]
@@ -56,7 +56,7 @@ jobs:
5656
steps:
5757
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
5858
- name: Set Xcode version
59-
run: sudo xcode-select -s /Applications/Xcode_16.4.app
59+
run: sudo xcode-select -s /Applications/Xcode_26.4.app/Contents/Developer
6060
- uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
6161
- name: Setup Bundler
6262
run: scripts/setup_bundler.sh

.github/workflows/infra.spm_global.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ jobs:
2929
spm-package-resolved:
3030
env:
3131
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
32-
runs-on: macos-15
32+
runs-on: macos-26
3333
outputs:
3434
cache_key: ${{ steps.generate_cache_key.outputs.cache_key }}
3535
steps:
3636
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3737
- name: Xcode
38-
run: sudo xcode-select -s /Applications/Xcode_16.4.app/Contents/Developer
38+
run: sudo xcode-select -s /Applications/Xcode_26.4.app/Contents/Developer
3939
- name: Generate Swift Package.resolved
4040
id: swift_package_resolve
4141
run: |
@@ -59,7 +59,10 @@ jobs:
5959
matrix:
6060
include:
6161
- os: macos-15
62-
xcode: Xcode_16.4
62+
xcode: Xcode_26.2
63+
test: spm
64+
- os: macos-26
65+
xcode: Xcode_26.4
6366
test: spm
6467
runs-on: ${{ matrix.os }}
6568
steps:
@@ -97,8 +100,8 @@ jobs:
97100
strategy:
98101
matrix:
99102
include:
100-
- os: macos-15
101-
xcode: Xcode_16.4
103+
- os: macos-26
104+
xcode: Xcode_26.4
102105
runs-on: ${{ matrix.os }}
103106
steps:
104107
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -132,8 +135,8 @@ jobs:
132135
# targets need Analytics.
133136
target: [tvOS, macOS, catalyst]
134137
include:
135-
- os: macos-15
136-
xcode: Xcode_16.4
138+
- os: macos-26
139+
xcode: Xcode_26.4
137140
runs-on: ${{ matrix.os }}
138141
steps:
139142
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

.github/workflows/release.zip.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ jobs:
117117
github.repository == 'firebase/firebase-ios-sdk' &&
118118
contains(fromJSON('["schedule", "pull_request", "workflow_dispatch"]'), github.event_name) &&
119119
needs.should_package.outputs.should_package == 'true'
120-
runs-on: macos-15
120+
runs-on: macos-26
121121
steps:
122122
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
123123
with:
@@ -192,7 +192,7 @@ jobs:
192192
if: ${{ !cancelled() }}
193193
env:
194194
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
195-
runs-on: macos-15
195+
runs-on: macos-26
196196
steps:
197197
- name: Xcode
198198
run: sudo xcode-select -s /Applications/${{ env.MIN_XCODE }}.app/Contents/Developer
@@ -348,8 +348,8 @@ jobs:
348348
zip_run_id: ${{ needs.packaging_done.outputs.run_id }}
349349
artifact_name: ${{ matrix.artifact }}
350350
# Use defaults with option to override
351-
os: ${{ matrix.config.os || 'macos-15' }}
352-
xcode: ${{ matrix.config.xcode || 'Xcode_26.3' }}
351+
os: ${{ matrix.config.os || 'macos-26' }}
352+
xcode: ${{ matrix.config.xcode || 'Xcode_26.4' }}
353353
# Optional scheme (only used by FirebaseAI)
354354
scheme: ${{ matrix.config.scheme }}
355355
plist_src_path: ${{ matrix.config.plist_src }}

0 commit comments

Comments
 (0)