2121 required : true
2222 operating_systems :
2323 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 '
2525 required : true
2626 desktop_ssl_variants :
2727 description : ' CSV of desktop SSL variants to use'
4949 triggerLabelFull : " tests-requested: full"
5050 triggerLabelQuick : " tests-requested: quick"
5151 pythonVersion : ' 3.8'
52- xcodeVersion : ' 15.1 '
52+ xcodeVersion : ' 16.2 '
5353 artifactRetentionDays : 2
5454 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"
6055
6156jobs :
6257 check_and_prepare :
7772 xcode_version : ${{ steps.matrix_config.outputs.xcode_version }}
7873 ios_device : ${{ steps.matrix_config.outputs.ios_device }}
7974 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 }}
8275 steps :
8376 # ## Fail the workflow if the user does not have admin access to run the tests.
8477 - name : Check if user has permission to trigger tests
@@ -206,7 +199,7 @@ jobs:
206199 # at 3am PST/4am PDT. Running firestore desktop integration test aginst tip-of-tree ios repo
207200 echo "::warning ::Running against Firestore tip-of-tree"
208201 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 ")
210203 else
211204 matrix_platform=$( python scripts/gha/print_matrix_configuration.py -w integration_tests ${TEST_MATRIX_PARAM} -k platform -o "${{github.event.inputs.platforms}}" --apis ${apis} )
212205 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:
273266 - os : ubuntu-22.04
274267 arch : arm64
275268 # Do not attempt to use x86 on Mac.
276- - os : macos-13
269+ - os : macos-14
277270 arch : x86
278271 # 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.
282275 - os : windows-latest
283276 ssl_variant : openssl
284277 arch : x86
285- - os : macos-13
278+ - os : macos-14
286279 ssl_variant : openssl
287- arch : arm64
280+ arch : x64
288281 steps :
289282 - uses : lukka/get-cmake@latest
290283 with :
@@ -435,8 +428,13 @@ jobs:
435428 ref : ${{needs.check_and_prepare.outputs.github_ref}}
436429 submodules : true
437430 - name : Force Java 11
431+ if : ${{ !(runner.os == 'macOS') }}
438432 shell : bash
439433 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
440438 - name : Add msbuild to PATH (Windows)
441439 if : startsWith(matrix.os, 'windows')
442440 uses : microsoft/setup-msbuild@v1.1
@@ -539,7 +537,7 @@ jobs:
539537 strategy :
540538 fail-fast : false
541539 matrix :
542- os : [macos-13 ]
540+ os : [macos-14 ]
543541 steps :
544542 - uses : lukka/get-cmake@latest
545543 with :
@@ -647,7 +645,7 @@ jobs:
647645 strategy :
648646 fail-fast : false
649647 matrix :
650- os : [macos-13 ]
648+ os : [macos-14 ]
651649 steps :
652650 - uses : lukka/get-cmake@latest
653651 with :
@@ -767,20 +765,18 @@ jobs:
767765 - os : ubuntu-22.04
768766 arch : arm64
769767 # Do not attempt to use x86 on Mac.
770- - os : macos-13
768+ - os : macos-14
771769 arch : x86
772770 # 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.
776774 - os : windows-latest
777775 ssl_variant : openssl
778776 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
784780 steps :
785781 - uses : actions/checkout@v3
786782 with :
@@ -1010,7 +1006,7 @@ jobs:
10101006 test_ios :
10111007 name : test-ios-${{ matrix.build_os }}-${{ matrix.ios_device }}-${{ matrix.test_type }}
10121008 needs : [check_and_prepare, build_ios]
1013- runs-on : macos-13
1009+ runs-on : macos-14
10141010 if : contains(needs.check_and_prepare.outputs.matrix_platform, 'iOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled()
10151011 strategy :
10161012 fail-fast : false
@@ -1024,7 +1020,7 @@ jobs:
10241020 test_type : " uitest"
10251021 - ios_device : " ios_latest"
10261022 test_type : " uitest"
1027- build_os : [macos-13 ]
1023+ build_os : [macos-14 ]
10281024 steps :
10291025 - uses : actions/checkout@v3
10301026 with :
@@ -1189,13 +1185,13 @@ jobs:
11891185 test_tvos :
11901186 name : test-tvos-${{ matrix.build_os }}-${{ matrix.tvos_device }}
11911187 needs : [check_and_prepare, build_tvos]
1192- runs-on : macos-13
1188+ runs-on : macos-14
11931189 if : contains(needs.check_and_prepare.outputs.matrix_platform, 'tvOS') && needs.check_and_prepare.outputs.apis != '' && !cancelled()
11941190 strategy :
11951191 fail-fast : false
11961192 matrix :
11971193 tvos_device : ${{ fromJson(needs.check_and_prepare.outputs.tvos_device) }}
1198- build_os : [macos-13 ]
1194+ build_os : [macos-14 ]
11991195 steps :
12001196 - uses : actions/checkout@v3
12011197 with :
0 commit comments