Skip to content

Commit 49e5230

Browse files
committed
Fix error annotations
The previous method of excluding matrix entries results in complaints annotating the action run (even though the matrix produces the correct entries and _works_), but this noise gets in the way of real errors and may be bothersome. Use a new technique (which amusingly is even simpler) to skip the whole matrix when the enabled flag is off for a group of builds.
1 parent 20b826e commit 49e5230

File tree

1 file changed

+44
-24
lines changed

1 file changed

+44
-24
lines changed

.github/workflows/swift_package_test.yml

Lines changed: 44 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -230,14 +230,14 @@ jobs:
230230
strategy:
231231
fail-fast: false
232232
matrix:
233+
matrix_enabled:
234+
- ${{ inputs.enable_macos_checks }}
233235
xcode_version: ${{ fromJson(inputs.macos_xcode_versions) }}
234236
os_version: ${{ fromJson(inputs.macos_versions) }}
235237
arch: ${{ fromJson(inputs.macos_archs) }}
236238
exclude:
237239
- ${{ fromJson(inputs.macos_exclude_xcode_versions) }}
238-
- ${{ fromJson((!inputs.enable_macos_checks && inputs.macos_xcode_versions) || '[]') }}
239-
- ${{ fromJson((!inputs.enable_macos_checks && inputs.macos_versions) || '[]') }}
240-
- ${{ fromJson((!inputs.enable_macos_checks && inputs.macos_archs) || '[]') }}
240+
- matrix_enabled: false
241241
steps:
242242
- name: Checkout repository
243243
uses: actions/checkout@v4
@@ -270,14 +270,14 @@ jobs:
270270
strategy:
271271
fail-fast: false
272272
matrix:
273+
matrix_enabled:
274+
- ${{ inputs.enable_ios_checks }}
273275
xcode_version: ${{ fromJson(inputs.ios_host_xcode_versions || inputs.macos_xcode_versions) }}
274276
os_version: ${{ fromJson(inputs.ios_host_versions || inputs.macos_versions) }}
275277
arch: ${{ fromJson(inputs.ios_host_archs || inputs.macos_archs) }}
276278
exclude:
277279
- ${{ fromJson(inputs.ios_host_exclude_xcode_versions || inputs.macos_exclude_xcode_versions) }}
278-
- ${{ fromJson((!inputs.enable_ios_checks && (inputs.ios_host_xcode_versions || inputs.macos_xcode_versions)) || '[]') }}
279-
- ${{ fromJson((!inputs.enable_ios_checks && (inputs.ios_host_versions || inputs.macos_versions)) || '[]') }}
280-
- ${{ fromJson((!inputs.enable_ios_checks && (inputs.ios_host_archs || inputs.macos_archs)) || '[]') }}
280+
- matrix_enabled: false
281281
steps:
282282
- name: Checkout repository
283283
uses: actions/checkout@v4
@@ -308,6 +308,8 @@ jobs:
308308
strategy:
309309
fail-fast: false
310310
matrix:
311+
matrix_enabled:
312+
- ${{ inputs.enable_linux_checks }}
311313
swift_version: ${{ fromJson(inputs.linux_swift_versions) }}
312314
os_version: ${{ fromJson(inputs.linux_os_versions) }}
313315
arch: ${{ fromJson(inputs.linux_host_archs) }}
@@ -322,9 +324,7 @@ jobs:
322324
}}
323325
exclude:
324326
- ${{ fromJson(inputs.linux_exclude_swift_versions) }}
325-
- ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_swift_versions) || '[]') }}
326-
- ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_os_versions) || '[]') }}
327-
- ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_host_archs) || '[]') }}
327+
- matrix_enabled: false
328328
- arch: x86_64
329329
runner: ubuntu-24.04-arm
330330
- arch: aarch64
@@ -390,6 +390,8 @@ jobs:
390390
strategy:
391391
fail-fast: false
392392
matrix:
393+
matrix_enabled:
394+
- ${{ inputs.enable_linux_static_sdk_build }}
393395
swift_version: ${{ fromJson(inputs.linux_static_sdk_versions) }}
394396
os_version: ${{ fromJson(inputs.linux_os_versions) }}
395397
arch: ${{ fromJson(inputs.linux_host_archs) }}
@@ -404,9 +406,7 @@ jobs:
404406
}}
405407
exclude:
406408
- ${{ fromJson(inputs.linux_static_sdk_exclude_swift_versions) }}
407-
- ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_static_sdk_versions) || '[]') }}
408-
- ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_os_versions) || '[]') }}
409-
- ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_host_archs) || '[]') }}
409+
- matrix_enabled: false
410410
- arch: x86_64
411411
runner: ubuntu-24.04-arm
412412
- arch: aarch64
@@ -467,16 +467,19 @@ jobs:
467467
468468
wasm-sdk-build:
469469
name: Swift SDK for Wasm Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
470-
runs-on: ubuntu-latest
470+
runs-on: ${{ matrix.runner }}
471471
strategy:
472472
fail-fast: false
473473
matrix:
474+
matrix_enabled:
475+
- ${{ inputs.enable_wasm_sdk_build }}
474476
swift_version: ${{ fromJson(inputs.wasm_sdk_versions) }}
475477
os_version: ${{ fromJson(inputs.linux_os_versions) }}
478+
runner:
479+
- ubuntu-latest
476480
exclude:
477481
- ${{ fromJson(inputs.wasm_exclude_swift_versions) }}
478-
- ${{ fromJson((!inputs.enable_wasm_sdk_build && inputs.wasm_sdk_versions) || '[]') }}
479-
- ${{ fromJson((!inputs.enable_wasm_sdk_build && inputs.linux_os_versions) || '[]') }}
482+
- matrix_enabled: false
480483
container:
481484
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
482485
steps:
@@ -533,16 +536,19 @@ jobs:
533536
534537
embedded-wasm-sdk-build:
535538
name: Embedded Swift SDK for Wasm Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
536-
runs-on: ubuntu-latest
539+
runs-on: ${{ matrix.runner }}
537540
strategy:
538541
fail-fast: false
539542
matrix:
543+
matrix_enabled:
544+
- ${{ inputs.enable_embedded_wasm_sdk_build }}
545+
runner:
546+
- ubuntu-latest
540547
swift_version: ${{ fromJson(inputs.wasm_sdk_versions) }}
541548
os_version: ${{ fromJson(inputs.linux_os_versions) }}
542549
exclude:
543550
- ${{ fromJson(inputs.wasm_exclude_swift_versions) }}
544-
- ${{ fromJson((!inputs.enable_embedded_wasm_sdk_build && inputs.wasm_sdk_versions) || '[]') }}
545-
- ${{ fromJson((!inputs.enable_embedded_wasm_sdk_build && inputs.linux_os_versions) || '[]') }}
551+
- matrix_enabled: false
546552
container:
547553
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
548554
steps:
@@ -597,20 +603,33 @@ jobs:
597603
${{ inputs.wasm_sdk_pre_build_command }}
598604
${{ steps.script_path.outputs.root }}/.github/workflows/scripts/install-and-build-with-sdk.sh --embedded-wasm --flags="$BUILD_FLAGS" ${{ matrix.swift_version }}
599605
606+
generate:
607+
name: ''
608+
runs-on: ubuntu-latest
609+
outputs:
610+
enable_android_sdk_build: ${{ inputs.enable_android_sdk_build }}
611+
steps:
612+
- name: Generate
613+
run: echo
614+
600615
android-sdk-build:
601616
name: Swift SDK for Android Build (${{ matrix.swift_version }} - ${{ matrix.os_version }} - NDK ${{ matrix.ndk_version }})
602-
runs-on: ubuntu-latest
617+
needs: generate
618+
if: ${{ needs.generate.outputs.enable_android_sdk_build }}
619+
runs-on: ${{ matrix.runner }}
603620
strategy:
604621
fail-fast: false
605622
matrix:
623+
matrix_enabled:
624+
- ${{ inputs.enable_android_sdk_build }}
625+
runner:
626+
- ubuntu-latest
606627
swift_version: ${{ fromJson(inputs.android_sdk_versions) }}
607628
ndk_version: ${{ fromJson(inputs.android_ndk_versions) }}
608629
os_version: ${{ fromJson(inputs.linux_os_versions) }}
609630
exclude:
610631
- ${{ fromJson(inputs.android_exclude_swift_versions) }}
611-
- ${{ fromJson((!inputs.enable_android_sdk_build && inputs.android_sdk_versions) || '[]') }}
612-
- ${{ fromJson((!inputs.enable_android_sdk_build && inputs.android_ndk_versions) || '[]') }}
613-
- ${{ fromJson((!inputs.enable_android_sdk_build && inputs.linux_os_versions) || '[]') }}
632+
- matrix_enabled: false
614633
container:
615634
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
616635
steps:
@@ -671,12 +690,13 @@ jobs:
671690
strategy:
672691
fail-fast: false
673692
matrix:
693+
matrix_enabled:
694+
- ${{ inputs.enable_windows_checks }}
674695
swift_version: ${{ fromJson(inputs.windows_swift_versions) }}
675696
os_version: ${{ fromJson(inputs.windows_os_versions) }}
676697
exclude:
677698
- ${{ fromJson(inputs.windows_exclude_swift_versions) }}
678-
- ${{ fromJson((!inputs.enable_windows_checks && inputs.windows_swift_versions) || '[]') }}
679-
- ${{ fromJson((!inputs.enable_windows_checks && inputs.windows_os_versions) || '[]') }}
699+
- matrix_enabled: false
680700
steps:
681701
- name: Checkout repository
682702
uses: actions/checkout@v4

0 commit comments

Comments
 (0)