Skip to content

Commit 9a5b908

Browse files
authored
[Infra] Update zip workflow to use macOS 15 for Xcode 16 jobs (#14050)
1 parent 7bdf3bb commit 9a5b908

File tree

2 files changed

+57
-53
lines changed

2 files changed

+57
-53
lines changed

.github/workflows/zip.yml

Lines changed: 44 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,13 @@ jobs:
111111
SDK: "ABTesting"
112112
strategy:
113113
matrix:
114-
os: [macos-13, macos-14]
115114
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
116-
include:
115+
build-env:
117116
- os: macos-13
118117
xcode: Xcode_15.2
119-
- os: macos-14
120-
xcode: Xcode_16
121-
runs-on: ${{ matrix.os }}
118+
- os: macos-15
119+
xcode: Xcode_16.1
120+
runs-on: ${{ matrix.build-env.os }}
122121
steps:
123122
- uses: actions/checkout@v4
124123
- name: Get framework dir
@@ -134,7 +133,7 @@ jobs:
134133
find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
135134
- uses: actions/checkout@v4
136135
- name: Xcode
137-
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
136+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
138137
- name: Setup quickstart
139138
env:
140139
LEGACY: true
@@ -173,11 +172,11 @@ jobs:
173172
SDK: "Authentication"
174173
strategy:
175174
matrix:
176-
os: [macos-14]
175+
os: [macos-15]
177176
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
178177
include:
179-
- os: macos-14
180-
xcode: Xcode_16
178+
- os: macos-15
179+
xcode: Xcode_16.1
181180
runs-on: ${{ matrix.os }}
182181
steps:
183182
- uses: actions/checkout@v4
@@ -225,14 +224,13 @@ jobs:
225224
SDK: "Config"
226225
strategy:
227226
matrix:
228-
os: [macos-13, macos-14]
229227
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
230-
include:
228+
build-env:
231229
- os: macos-13
232230
xcode: Xcode_15.2
233-
- os: macos-14
234-
xcode: Xcode_16
235-
runs-on: ${{ matrix.os }}
231+
- os: macos-15
232+
xcode: Xcode_16.1
233+
runs-on: ${{ matrix.build-env.os }}
236234
steps:
237235
- uses: actions/checkout@v4
238236
- name: Get framework dir
@@ -247,7 +245,7 @@ jobs:
247245
mkdir -p "${HOME}"/ios_frameworks/
248246
find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
249247
- name: Xcode
250-
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
248+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
251249
- name: Setup Swift Quickstart
252250

253251
run: SAMPLE="$SDK" TARGET="${SDK}Example" scripts/setup_quickstart_framework.sh \
@@ -277,14 +275,13 @@ jobs:
277275
SDK: "Crashlytics"
278276
strategy:
279277
matrix:
280-
os: [macos-13, macos-14]
281278
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
282-
include:
279+
build-env:
283280
- os: macos-13
284281
xcode: Xcode_15.2
285-
- os: macos-14
286-
xcode: Xcode_16
287-
runs-on: ${{ matrix.os }}
282+
- os: macos-15
283+
xcode: Xcode_16.1
284+
runs-on: ${{ matrix.build-env.os }}
288285
steps:
289286
- uses: actions/checkout@v4
290287
- name: Get framework dir
@@ -300,7 +297,7 @@ jobs:
300297
find "${GITHUB_WORKSPACE}" -name "Firebase*latest.zip" -exec unzip -d "${HOME}"/ios_frameworks/ {} +
301298
- uses: actions/checkout@v4
302299
- name: Xcode
303-
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
300+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
304301
- name: Setup quickstart
305302
env:
306303
LEGACY: true
@@ -404,14 +401,13 @@ jobs:
404401
SDK: "DynamicLinks"
405402
strategy:
406403
matrix:
407-
os: [macos-13, macos-14]
408404
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
409-
include:
405+
build-env:
410406
- os: macos-13
411407
xcode: Xcode_15.2
412-
- os: macos-14
413-
xcode: Xcode_16
414-
runs-on: ${{ matrix.os }}
408+
- os: macos-15
409+
xcode: Xcode_16.1
410+
runs-on: ${{ matrix.build-env.os }}
415411
steps:
416412
- uses: actions/checkout@v4
417413
- name: Get framework dir
@@ -430,7 +426,7 @@ jobs:
430426
"${HOME}"/ios_frameworks/Firebase/FirebaseDynamicLinks/* \
431427
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
432428
- name: Xcode
433-
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
429+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
434430
- name: Setup Swift Quickstart
435431
run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
436432
- name: Update Environment Variable For DynamicLinks
@@ -464,14 +460,13 @@ jobs:
464460
SDK: "Firestore"
465461
strategy:
466462
matrix:
467-
os: [macos-13, macos-14]
468463
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
469-
include:
464+
build-env:
470465
- os: macos-13
471466
xcode: Xcode_15.2
472-
- os: macos-14
473-
xcode: Xcode_16
474-
runs-on: ${{ matrix.os }}
467+
- os: macos-15
468+
xcode: Xcode_16.1
469+
runs-on: ${{ matrix.build-env.os }}
475470
steps:
476471
- uses: actions/checkout@v4
477472
- name: Get framework dir
@@ -493,7 +488,7 @@ jobs:
493488
"${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
494489
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
495490
- name: Xcode
496-
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
491+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
497492
- name: Install Secret GoogleService-Info.plist
498493
run: scripts/decrypt_gha_secret.sh scripts/gha-encrypted/qs-firestore.plist.gpg \
499494
quickstart-ios/firestore/GoogleService-Info.plist "$plist_secret"
@@ -505,7 +500,7 @@ jobs:
505500
- uses: actions/upload-artifact@v4
506501
if: ${{ failure() }}
507502
with:
508-
name: quickstart_artifacts_firestore_${{ matrix.artifact }}_${{ matrix.os }}
503+
name: quickstart_artifacts_firestore_${{ matrix.artifact }}_${{ matrix.build-env.os }}
509504
path: quickstart_artifacts_firestore.zip
510505

511506
check_framework_firestore_symbols:
@@ -549,14 +544,13 @@ jobs:
549544
SDK: "InAppMessaging"
550545
strategy:
551546
matrix:
552-
os: [macos-13, macos-14]
553547
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
554-
include:
548+
build-env:
555549
- os: macos-13
556550
xcode: Xcode_15.2
557-
- os: macos-14
558-
xcode: Xcode_16
559-
runs-on: ${{ matrix.os }}
551+
- os: macos-15
552+
xcode: Xcode_16.1
553+
runs-on: ${{ matrix.build-env.os }}
560554
steps:
561555
- uses: actions/checkout@v4
562556
- name: Get framework dir
@@ -577,7 +571,7 @@ jobs:
577571
"${HOME}"/ios_frameworks/Firebase/FirebaseInAppMessaging/* \
578572
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
579573
- name: Xcode
580-
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
574+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
581575
- name: Setup swift quickstart
582576
run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
583577
- name: Install Secret GoogleService-Info.plist
@@ -606,14 +600,13 @@ jobs:
606600
SDK: "Messaging"
607601
strategy:
608602
matrix:
609-
os: [macos-13, macos-14]
610603
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
611-
include:
604+
build-env:
612605
- os: macos-13
613606
xcode: Xcode_15.2
614-
- os: macos-14
615-
xcode: Xcode_16
616-
runs-on: ${{ matrix.os }}
607+
- os: macos-15
608+
xcode: Xcode_16.1
609+
runs-on: ${{ matrix.build-env.os }}
617610
steps:
618611
- uses: actions/checkout@v4
619612
- name: Get framework dir
@@ -633,7 +626,7 @@ jobs:
633626
"${HOME}"/ios_frameworks/Firebase/FirebaseMessaging/* \
634627
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
635628
- name: Xcode
636-
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
629+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
637630
- name: Setup swift quickstart
638631
run: SAMPLE="$SDK" TARGET="${SDK}ExampleSwift" scripts/setup_quickstart_framework.sh
639632
- name: Install Secret GoogleService-Info.plist
@@ -662,14 +655,13 @@ jobs:
662655
SDK: "Storage"
663656
strategy:
664657
matrix:
665-
os: [macos-13, macos-14]
666658
artifact: [Firebase-actions-dir, Firebase-actions-dir-dynamic]
667-
include:
659+
build-env:
668660
- os: macos-13
669661
xcode: Xcode_15.2
670-
- os: macos-14
671-
xcode: Xcode_16
672-
runs-on: ${{ matrix.os }}
662+
- os: macos-15
663+
xcode: Xcode_16.1
664+
runs-on: ${{ matrix.build-env.os }}
673665
steps:
674666
- uses: actions/checkout@v4
675667
- name: Get framework dir
@@ -692,7 +684,7 @@ jobs:
692684
"${HOME}"/ios_frameworks/Firebase/FirebaseAuth/* \
693685
"${HOME}"/ios_frameworks/Firebase/FirebaseAnalytics/*
694686
- name: Xcode
695-
run: sudo xcode-select -s /Applications/${{ matrix.xcode }}.app/Contents/Developer
687+
run: sudo xcode-select -s /Applications/${{ matrix.build-env.xcode }}.app/Contents/Developer
696688
- name: Setup swift quickstart
697689
env:
698690
LEGACY: true

scripts/zip_quickstart_test.sh

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,23 @@ if [[ ! -z "$LEGACY" ]]; then
3030
cd "Legacy${SAMPLE}Quickstart"
3131
fi
3232

33+
xcode_version=$(xcodebuild -version | grep Xcode)
34+
xcode_version="${xcode_version/Xcode /}"
35+
xcode_major="${xcode_version/.*/}"
36+
37+
if [[ "$xcode_major" -lt 15 ]]; then
38+
device_name="iPhone 14"
39+
elif [[ "$xcode_major" -lt 16 ]]; then
40+
device_name="iPhone 15"
41+
else
42+
device_name="iPhone 16"
43+
fi
44+
3345
(
3446
xcodebuild \
3547
-project ${SAMPLE}Example.xcodeproj \
3648
-scheme ${SAMPLE}Example${SWIFT_SUFFIX} \
37-
-destination 'platform=iOS Simulator,name=iPhone 14' "SWIFT_VERSION=5.3" "OTHER_LDFLAGS=\$(OTHER_LDFLAGS) -ObjC" "FRAMEWORK_SEARCH_PATHS= \$(PROJECT_DIR)/Firebase/" HEADER_SEARCH_PATHS='$(PROJECT_DIR)/Firebase' \
49+
-destination "platform=iOS Simulator,name=$device_name" "SWIFT_VERSION=5.3" "OTHER_LDFLAGS=\$(OTHER_LDFLAGS) -ObjC" "FRAMEWORK_SEARCH_PATHS= \$(PROJECT_DIR)/Firebase/" HEADER_SEARCH_PATHS='$(PROJECT_DIR)/Firebase' \
3850
build \
3951
) || EXIT_STATUS=$?
4052

0 commit comments

Comments
 (0)