Skip to content

Commit 358486f

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 358486f

File tree

1 file changed

+33
-24
lines changed

1 file changed

+33
-24
lines changed

.github/workflows/swift_package_test.yml

Lines changed: 33 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:
@@ -599,18 +605,20 @@ jobs:
599605
600606
android-sdk-build:
601607
name: Swift SDK for Android Build (${{ matrix.swift_version }} - ${{ matrix.os_version }} - NDK ${{ matrix.ndk_version }})
602-
runs-on: ubuntu-latest
608+
runs-on: ${{ matrix.runner }}
603609
strategy:
604610
fail-fast: false
605611
matrix:
612+
matrix_enabled:
613+
- ${{ inputs.enable_android_sdk_build }}
614+
runner:
615+
- ubuntu-latest
606616
swift_version: ${{ fromJson(inputs.android_sdk_versions) }}
607617
ndk_version: ${{ fromJson(inputs.android_ndk_versions) }}
608618
os_version: ${{ fromJson(inputs.linux_os_versions) }}
609619
exclude:
610620
- ${{ 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) || '[]') }}
621+
- matrix_enabled: false
614622
container:
615623
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
616624
steps:
@@ -671,12 +679,13 @@ jobs:
671679
strategy:
672680
fail-fast: false
673681
matrix:
682+
matrix_enabled:
683+
- ${{ inputs.enable_windows_checks }}
674684
swift_version: ${{ fromJson(inputs.windows_swift_versions) }}
675685
os_version: ${{ fromJson(inputs.windows_os_versions) }}
676686
exclude:
677687
- ${{ 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) || '[]') }}
688+
- matrix_enabled: false
680689
steps:
681690
- name: Checkout repository
682691
uses: actions/checkout@v4

0 commit comments

Comments
 (0)