Skip to content

Commit f04a9c2

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 f04a9c2

File tree

1 file changed

+25
-21
lines changed

1 file changed

+25
-21
lines changed

.github/workflows/swift_package_test.yml

Lines changed: 25 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:
@@ -600,17 +602,18 @@ jobs:
600602
android-sdk-build:
601603
name: Swift SDK for Android Build (${{ matrix.swift_version }} - ${{ matrix.os_version }} - NDK ${{ matrix.ndk_version }})
602604
runs-on: ubuntu-latest
605+
if: ${{ inputs.enable_android_sdk_build }}
603606
strategy:
604607
fail-fast: false
605608
matrix:
609+
matrix_enabled:
610+
- ${{ (inputs.enable_android_sdk_build && 'enabled') || 'disabled' }}
606611
swift_version: ${{ fromJson(inputs.android_sdk_versions) }}
607612
ndk_version: ${{ fromJson(inputs.android_ndk_versions) }}
608613
os_version: ${{ fromJson(inputs.linux_os_versions) }}
609614
exclude:
610615
- ${{ 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) || '[]') }}
616+
- matrix_enabled: disabled
614617
container:
615618
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
616619
steps:
@@ -671,12 +674,13 @@ jobs:
671674
strategy:
672675
fail-fast: false
673676
matrix:
677+
matrix_enabled:
678+
- ${{ inputs.enable_windows_checks }}
674679
swift_version: ${{ fromJson(inputs.windows_swift_versions) }}
675680
os_version: ${{ fromJson(inputs.windows_os_versions) }}
676681
exclude:
677682
- ${{ 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) || '[]') }}
683+
- matrix_enabled: false
680684
steps:
681685
- name: Checkout repository
682686
uses: actions/checkout@v4

0 commit comments

Comments
 (0)