@@ -302,9 +302,24 @@ 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+ runner_map='{
314+ "x86_64": "ubuntu-24.04",
315+ "aarch64": "ubuntu-24.04-arm"
316+ }'
317+ echo "runner_map=$runner_map" >> $GITHUB_OUTPUT
318+
305319 linux-build :
306320 name : Linux (${{ matrix.swift_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
307- runs-on : ${{ matrix.runner }}
321+ needs : define-linux-matrix
322+ runs-on : ${{ fromJson(needs.define-linux-matrix.outputs.runner_map)[matrix.arch] }}
308323 strategy :
309324 fail-fast : false
310325 matrix :
@@ -316,11 +331,6 @@ jobs:
316331 - ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_swift_versions) || '[]') }}
317332 - ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_os_versions) || '[]') }}
318333 - ${{ 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
324334 container :
325335 image : ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
326336 steps :
@@ -378,7 +388,8 @@ jobs:
378388
379389 linux-static-sdk-build :
380390 name : Static Linux Swift SDK Build (${{ matrix.swift_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
381- runs-on : ${{ matrix.runner }}
391+ needs : define-linux-matrix
392+ runs-on : ${{ fromJson(needs.define-linux-matrix.outputs.runner_map)[matrix.arch] }}
382393 strategy :
383394 fail-fast : false
384395 matrix :
@@ -390,11 +401,6 @@ jobs:
390401 - ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_static_sdk_versions) || '[]') }}
391402 - ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_os_versions) || '[]') }}
392403 - ${{ 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
398404 container :
399405 image : ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
400406 steps :
0 commit comments