17
17
required : true
18
18
apis :
19
19
description : ' CSV of apis to build and test'
20
- default : ' analytics,app_check,auth,database,dynamic_links,firestore,functions,gma,installations,messaging,remote_config,storage'
20
+ default : ' analytics,app_check,auth,database,dynamic_links,firestore,functions,gma,installations,messaging,remote_config,storage,ump '
21
21
required : true
22
22
operating_systems :
23
23
description : ' CSV of VMs to run on'
24
- default : ' ubuntu-22.04,windows-latest,macos-13 '
24
+ default : ' ubuntu-22.04,windows-latest,macos-14 '
25
25
required : true
26
26
desktop_ssl_variants :
27
27
description : ' CSV of desktop SSL variants to use'
49
49
triggerLabelFull : " tests-requested: full"
50
50
triggerLabelQuick : " tests-requested: quick"
51
51
pythonVersion : ' 3.8'
52
- xcodeVersion : ' 15.1 '
52
+ xcodeVersion : ' 16.2 '
53
53
artifactRetentionDays : 2
54
54
GITHUB_TOKEN : ${{ github.token }}
55
- # All self-hosted ARM Mac runners should have this label. Due to how
56
- # our custom reporting works, it must be exactly two words separated
57
- # by a hyphen. The first word must be "macos". The second word will
58
- # be omitted from the summary log.
59
- runnerLabelMacArm64 : " macos-m1custom"
60
55
61
56
jobs :
62
57
check_and_prepare :
77
72
xcode_version : ${{ steps.matrix_config.outputs.xcode_version }}
78
73
ios_device : ${{ steps.matrix_config.outputs.ios_device }}
79
74
tvos_device : ${{ steps.matrix_config.outputs.tvos_device }}
80
- # Copy the runner label here because matrix specifiers cannot see env.
81
- runner_label_macos_arm64 : ${{ env.runnerLabelMacArm64 }}
82
75
steps :
83
76
# ## Fail the workflow if the user does not have admin access to run the tests.
84
77
- name : Check if user has permission to trigger tests
@@ -192,7 +185,7 @@ jobs:
192
185
# list. Then we can use fromJson to define the field in the matrix for the tests job.
193
186
if [[ "${{ github.event.schedule }}" == "0 9 * * *" ]]; then
194
187
# at 1am PST/2am PDT. Running integration tests and generate test report for all testapps except firestore
195
- apis="analytics,app_check,auth,database,dynamic_links,functions,gma,installations,messaging,remote_config,storage"
188
+ apis="analytics,app_check,auth,database,dynamic_links,functions,gma,installations,messaging,remote_config,storage,ump "
196
189
echo "::warning ::Running main nightly tests"
197
190
elif [[ "${{ github.event.schedule }}" == "0 10 * * *" || "${{ github.event.schedule }}" == "0 11 * * *" ]]; then
198
191
# at 2am PST/3am PDT and 3am PST/4am PDT. Running integration tests for firestore and generate test report.
@@ -206,7 +199,7 @@ jobs:
206
199
# at 3am PST/4am PDT. Running firestore desktop integration test aginst tip-of-tree ios repo
207
200
echo "::warning ::Running against Firestore tip-of-tree"
208
201
matrix_platform="Desktop"
209
- matrix_os=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k os -o "ubuntu-22.04,macos-13 ")
202
+ matrix_os=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k os -o "ubuntu-22.04,macos-14 ")
210
203
else
211
204
matrix_platform=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k platform -o "${{github.event.inputs.platforms}}" --apis ${apis} )
212
205
matrix_os=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k os -o "${{github.event.inputs.operating_systems}}")
@@ -273,18 +266,18 @@ jobs:
273
266
- os : ubuntu-22.04
274
267
arch : arm64
275
268
# Do not attempt to use x86 on Mac.
276
- - os : macos-13
269
+ - os : macos-14
277
270
arch : x86
278
271
# Until we support building openssl from source, we can't use the
279
- # system's openssl when cross-compiling, except on Linux. Builds all
280
- # happen on x64 machines, so arm64 and x86 are technically
281
- # cross-compiling.
272
+ # system's openssl when cross-compiling, except on Linux. Builds on Linux
273
+ # happen on x64 machines, so x86 is technically cross-compiling. Builds on
274
+ # Mac happen on arm64 machines, so x64 is technically cross-compiling.
282
275
- os : windows-latest
283
276
ssl_variant : openssl
284
277
arch : x86
285
- - os : macos-13
278
+ - os : macos-14
286
279
ssl_variant : openssl
287
- arch : arm64
280
+ arch : x64
288
281
steps :
289
282
- uses : lukka/get-cmake@latest
290
283
with :
@@ -353,7 +346,7 @@ jobs:
353
346
elif [[ "${{ github.event.inputs.firestore_dep_source }}" ]]; then
354
347
additional_flags+=(--cmake_flag=-DFIRESTORE_DEP_SOURCE=${{ github.event.inputs.firestore_dep_source }})
355
348
fi
356
- python scripts/gha/build_testapps.py --p Desktop \
349
+ VERBOSE=1 python scripts/gha/build_testapps.py --p Desktop \
357
350
--t ${{ needs.check_and_prepare.outputs.apis }} \
358
351
--output_directory "${{ github.workspace }}" \
359
352
--artifact_name "desktop-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.ssl_variant }}" \
@@ -435,8 +428,13 @@ jobs:
435
428
ref : ${{needs.check_and_prepare.outputs.github_ref}}
436
429
submodules : true
437
430
- name : Force Java 11
431
+ if : ${{ !(runner.os == 'macOS') }}
438
432
shell : bash
439
433
run : echo "JAVA_HOME=${JAVA_HOME_11_X64}" >> $GITHUB_ENV
434
+ - name : Force Java 11 (mac)
435
+ if : ${{ runner.os == 'macOS' }}
436
+ shell : bash
437
+ run : echo "JAVA_HOME=${JAVA_HOME_11_arm64}" >> $GITHUB_ENV
440
438
- name : Add msbuild to PATH (Windows)
441
439
if : startsWith(matrix.os, 'windows')
442
440
@@ -539,7 +537,7 @@ jobs:
539
537
strategy :
540
538
fail-fast : false
541
539
matrix :
542
- os : [macos-13 ]
540
+ os : [macos-14 ]
543
541
steps :
544
542
- uses : lukka/get-cmake@latest
545
543
with :
@@ -647,7 +645,7 @@ jobs:
647
645
strategy :
648
646
fail-fast : false
649
647
matrix :
650
- os : [macos-13 ]
648
+ os : [macos-14 ]
651
649
steps :
652
650
- uses : lukka/get-cmake@latest
653
651
with :
@@ -767,20 +765,18 @@ jobs:
767
765
- os : ubuntu-22.04
768
766
arch : arm64
769
767
# Do not attempt to use x86 on Mac.
770
- - os : macos-13
768
+ - os : macos-14
771
769
arch : x86
772
770
# Until we support building openssl from source, we can't use the
773
- # system's openssl when cross-compiling, except on Linux. Builds all
774
- # happen on x64 machines, so arm64 and x86 are technically
775
- # cross-compiling.
771
+ # system's openssl when cross-compiling, except on Linux. Builds on Linux
772
+ # happen on x64 machines, so x86 is technically cross-compiling. Builds on
773
+ # Mac happen on arm64 machines, so x64 is technically cross-compiling.
776
774
- os : windows-latest
777
775
ssl_variant : openssl
778
776
arch : x86
779
- # Custom for this matrix: MacOS GitHub-hosted runner cannot test arm64
780
- # code. Exclude that scenario from running here; it will run in
781
- # test_desktop_custom_runners.
782
- - os : macos-13
783
- arch : arm64
777
+ - os : macos-14
778
+ ssl_variant : openssl
779
+ arch : x64
784
780
steps :
785
781
- uses : actions/checkout@v3
786
782
with :
@@ -925,7 +921,7 @@ jobs:
925
921
distribution : ' temurin'
926
922
java-version : ' 11'
927
923
- name : Run Android integration tests on Emulator locally
928
- timeout-minutes : 180
924
+ timeout-minutes : 240
929
925
if : steps.device-info.outputs.device_type == 'virtual'
930
926
run : |
931
927
python scripts/gha/test_simulator.py --testapp_dir testapps \
@@ -1010,7 +1006,7 @@ jobs:
1010
1006
test_ios :
1011
1007
name : test-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}-${{ matrix.test_type }}
1012
1008
needs : [check_and_prepare, build_ios]
1013
- runs-on : macos-13
1009
+ runs-on : macos-14
1014
1010
if : contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled()
1015
1011
strategy :
1016
1012
fail-fast : false
@@ -1024,7 +1020,7 @@ jobs:
1024
1020
test_type : " uitest"
1025
1021
- ios_device : " ios_latest"
1026
1022
test_type : " uitest"
1027
- build_os : [macos-13 ]
1023
+ build_os : [macos-14 ]
1028
1024
steps :
1029
1025
- uses : actions/checkout@v3
1030
1026
with :
@@ -1102,7 +1098,7 @@ jobs:
1102
1098
security list-keychains -d user -s tmp-keychain
1103
1099
security default-keychain -s tmp-keychain
1104
1100
- name : Run iOS integration tests on Simulator locally
1105
- timeout-minutes : 180
1101
+ timeout-minutes : 240
1106
1102
if : steps.device-info.outputs.device_type == 'virtual'
1107
1103
run : |
1108
1104
python scripts/gha/test_simulator.py --testapp_dir testapps \
@@ -1113,7 +1109,7 @@ jobs:
1113
1109
- id : ftl_test
1114
1110
if : steps.device-info.outputs.device_type == 'ftl'
1115
1111
uses :
FirebaseExtended/github-actions/[email protected]
1116
- timeout-minutes : 120
1112
+ timeout-minutes : 180
1117
1113
with :
1118
1114
credentials_json : ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CREDENTIALS }}
1119
1115
testapp_dir : testapps
@@ -1189,13 +1185,13 @@ jobs:
1189
1185
test_tvos :
1190
1186
name : test-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}
1191
1187
needs : [check_and_prepare, build_tvos]
1192
- runs-on : macos-13
1188
+ runs-on : macos-14
1193
1189
if : contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled()
1194
1190
strategy :
1195
1191
fail-fast : false
1196
1192
matrix :
1197
1193
tvos_device : ${{ fromJson(needs.check_and_prepare.outputs.tvos_device) }}
1198
- build_os : [macos-13 ]
1194
+ build_os : [macos-14 ]
1199
1195
steps :
1200
1196
- uses : actions/checkout@v3
1201
1197
with :
0 commit comments