From 7d40fc51cc54228a5cf4dc1016c61d1242a2df90 Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Wed, 10 Dec 2025 16:01:50 -0800 Subject: [PATCH] Fix the expansion of the Linux host arch matrix --- .github/workflows/swift_package_test.yml | 28 +++++++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/.github/workflows/swift_package_test.yml b/.github/workflows/swift_package_test.yml index a81d047..e313eef 100644 --- a/.github/workflows/swift_package_test.yml +++ b/.github/workflows/swift_package_test.yml @@ -311,16 +311,24 @@ jobs: swift_version: ${{ fromJson(inputs.linux_swift_versions) }} os_version: ${{ fromJson(inputs.linux_os_versions) }} arch: ${{ fromJson(inputs.linux_host_archs) }} + runner: ${{ + fromJson( + contains(fromJson(inputs.linux_host_archs), 'x86_64') && !contains(fromJson(inputs.linux_host_archs), 'aarch64') + && '["ubuntu-24.04"]' + || contains(fromJson(inputs.linux_host_archs), 'aarch64') && !contains(fromJson(inputs.linux_host_archs), 'x86_64') + && '["ubuntu-24.04-arm"]' + || '["ubuntu-24.04","ubuntu-24.04-arm"]' + ) + }} exclude: - ${{ fromJson(inputs.linux_exclude_swift_versions) }} - ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_swift_versions) || '[]') }} - ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_os_versions) || '[]') }} - ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_host_archs) || '[]') }} - include: - arch: x86_64 - runner: ubuntu-24.04 - - arch: aarch64 runner: ubuntu-24.04-arm + - arch: aarch64 + runner: ubuntu-24.04 container: image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} steps: @@ -385,16 +393,24 @@ jobs: swift_version: ${{ fromJson(inputs.linux_static_sdk_versions) }} os_version: ${{ fromJson(inputs.linux_os_versions) }} arch: ${{ fromJson(inputs.linux_host_archs) }} + runner: ${{ + fromJson( + contains(fromJson(inputs.linux_host_archs), 'x86_64') && !contains(fromJson(inputs.linux_host_archs), 'aarch64') + && '["ubuntu-24.04"]' + || contains(fromJson(inputs.linux_host_archs), 'aarch64') && !contains(fromJson(inputs.linux_host_archs), 'x86_64') + && '["ubuntu-24.04-arm"]' + || '["ubuntu-24.04","ubuntu-24.04-arm"]' + ) + }} exclude: - ${{ fromJson(inputs.linux_static_sdk_exclude_swift_versions) }} - ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_static_sdk_versions) || '[]') }} - ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_os_versions) || '[]') }} - ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_host_archs) || '[]') }} - include: - arch: x86_64 - runner: ubuntu-24.04 - - arch: aarch64 runner: ubuntu-24.04-arm + - arch: aarch64 + runner: ubuntu-24.04 container: image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }} steps: