Skip to content

Commit 8425c7c

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 8425c7c

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

.github/workflows/swift_package_test.yml

Lines changed: 24 additions & 21 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
@@ -471,12 +471,13 @@ jobs:
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) }}
476478
exclude:
477479
- ${{ 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) || '[]') }}
480+
- matrix_enabled: false
480481
container:
481482
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
482483
steps:
@@ -537,12 +538,13 @@ jobs:
537538
strategy:
538539
fail-fast: false
539540
matrix:
541+
matrix_enabled:
542+
- ${{ inputs.enable_embedded_wasm_sdk_build }}
540543
swift_version: ${{ fromJson(inputs.wasm_sdk_versions) }}
541544
os_version: ${{ fromJson(inputs.linux_os_versions) }}
542545
exclude:
543546
- ${{ 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) || '[]') }}
547+
- matrix_enabled: false
546548
container:
547549
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
548550
steps:
@@ -603,14 +605,14 @@ jobs:
603605
strategy:
604606
fail-fast: false
605607
matrix:
608+
matrix_enabled:
609+
- ${{ (inputs.enable_android_sdk_build && 'enabled') || 'disabled' }}
606610
swift_version: ${{ fromJson(inputs.android_sdk_versions) }}
607611
ndk_version: ${{ fromJson(inputs.android_ndk_versions) }}
608612
os_version: ${{ fromJson(inputs.linux_os_versions) }}
609613
exclude:
610614
- ${{ 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) || '[]') }}
615+
- matrix_enabled: disabled
614616
container:
615617
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
616618
steps:
@@ -671,12 +673,13 @@ jobs:
671673
strategy:
672674
fail-fast: false
673675
matrix:
676+
matrix_enabled:
677+
- ${{ inputs.enable_windows_checks }}
674678
swift_version: ${{ fromJson(inputs.windows_swift_versions) }}
675679
os_version: ${{ fromJson(inputs.windows_os_versions) }}
676680
exclude:
677681
- ${{ 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) || '[]') }}
682+
- matrix_enabled: false
680683
steps:
681684
- name: Checkout repository
682685
uses: actions/checkout@v4

0 commit comments

Comments
 (0)