@@ -302,9 +302,20 @@ jobs:
302302 run : ${{ inputs.ios_build_command }} ${{ (contains(matrix.swift_version, 'nightly') && inputs.swift_nightly_flags) || inputs.swift_flags }}
303303 timeout-minutes : 60
304304
305+ define-linux-matrix :
306+ runs-on : ubuntu-latest
307+ outputs :
308+ runner_map : ${{ steps.runners.outputs.runners }}
309+ steps :
310+ - name : Define Linux Runners
311+ id : runners
312+ run : |
313+ echo 'runner_map={"x86_64":"ubuntu-24.04","aarch64":"ubuntu-24.04-arm"}' >> $GITHUB_OUTPUT
314+
305315 linux-build :
306316 name : Linux (${{ matrix.swift_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
307- runs-on : ${{ matrix.runner }}
317+ needs : define-linux-matrix
318+ runs-on : ${{ fromJson(needs.define-linux-matrix.outputs.runner_map)[matrix.arch] }}
308319 strategy :
309320 fail-fast : false
310321 matrix :
@@ -316,11 +327,6 @@ jobs:
316327 - ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_swift_versions) || '[]') }}
317328 - ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_os_versions) || '[]') }}
318329 - ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_host_archs) || '[]') }}
319- include :
320- - arch : x86_64
321- runner : ubuntu-24.04
322- - arch : aarch64
323- runner : ubuntu-24.04-arm
324330 container :
325331 image : ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
326332 steps :
@@ -378,7 +384,8 @@ jobs:
378384
379385 linux-static-sdk-build :
380386 name : Static Linux Swift SDK Build (${{ matrix.swift_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
381- runs-on : ${{ matrix.runner }}
387+ needs : define-linux-matrix
388+ runs-on : ${{ fromJson(needs.define-linux-matrix.outputs.runner_map)[matrix.arch] }}
382389 strategy :
383390 fail-fast : false
384391 matrix :
@@ -390,11 +397,6 @@ jobs:
390397 - ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_static_sdk_versions) || '[]') }}
391398 - ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_os_versions) || '[]') }}
392399 - ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_host_archs) || '[]') }}
393- include :
394- - arch : x86_64
395- runner : ubuntu-24.04
396- - arch : aarch64
397- runner : ubuntu-24.04-arm
398400 container :
399401 image : ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
400402 steps :
0 commit comments