Skip to content

Commit dcbe514

Browse files
Skip matrix jobs more cleanly (#183)
Now disabled jobs will just disappear entirely, rather than appear with confusing unexpanded placeholders.
1 parent dfa66da commit dcbe514

File tree

1 file changed

+18
-26
lines changed

1 file changed

+18
-26
lines changed

.github/workflows/swift_package_test.yml

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -218,14 +218,13 @@ on:
218218
jobs:
219219
macos-build:
220220
name: macOS (Xcode ${{ matrix.xcode_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
221-
if: ${{ inputs.enable_macos_checks }}
222221
runs-on: [self-hosted, macos, "${{ matrix.os_version }}", "${{ matrix.arch }}"]
223222
strategy:
224223
fail-fast: false
225224
matrix:
226-
xcode_version: ${{ fromJson(inputs.macos_xcode_versions) }}
227-
os_version: ${{ fromJson(inputs.macos_versions) }}
228-
arch: ${{ fromJson(inputs.macos_archs) }}
225+
xcode_version: ${{ fromJson((inputs.enable_macos_checks && inputs.macos_xcode_versions) || '[]') }}
226+
os_version: ${{ fromJson((inputs.enable_macos_checks && inputs.macos_versions) || '[]') }}
227+
arch: ${{ fromJson((inputs.enable_macos_checks && inputs.macos_archs) || '[]') }}
229228
exclude:
230229
- ${{ fromJson(inputs.macos_exclude_xcode_versions) }}
231230
steps:
@@ -256,14 +255,13 @@ jobs:
256255

257256
ios-build:
258257
name: iOS (Build Only, Xcode ${{ matrix.xcode_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
259-
if: ${{ inputs.enable_ios_checks }}
260258
runs-on: [self-hosted, macos, "${{ matrix.os_version }}", "${{ matrix.arch }}"]
261259
strategy:
262260
fail-fast: false
263261
matrix:
264-
xcode_version: ${{ fromJson(inputs.ios_host_xcode_versions || inputs.macos_xcode_versions) }}
265-
os_version: ${{ fromJson(inputs.ios_host_versions || inputs.macos_versions) }}
266-
arch: ${{ fromJson(inputs.ios_host_archs || inputs.macos_archs) }}
262+
xcode_version: ${{ fromJson((inputs.enable_ios_checks && (inputs.ios_host_xcode_versions || inputs.macos_xcode_versions)) || '[]') }}
263+
os_version: ${{ fromJson((inputs.enable_ios_checks && (inputs.ios_host_versions || inputs.macos_versions)) || '[]') }}
264+
arch: ${{ fromJson((inputs.enable_ios_checks && (inputs.ios_host_archs || inputs.macos_archs)) || '[]') }}
267265
exclude:
268266
- ${{ fromJson(inputs.ios_host_exclude_xcode_versions || inputs.macos_exclude_xcode_versions) }}
269267
steps:
@@ -292,13 +290,12 @@ jobs:
292290

293291
linux-build:
294292
name: Linux (${{ matrix.swift_version }} - ${{ matrix.os_version }})
295-
if: ${{ inputs.enable_linux_checks }}
296293
runs-on: ubuntu-latest
297294
strategy:
298295
fail-fast: false
299296
matrix:
300-
swift_version: ${{ fromJson(inputs.linux_swift_versions) }}
301-
os_version: ${{ fromJson(inputs.linux_os_versions) }}
297+
swift_version: ${{ fromJson((inputs.enable_linux_checks && inputs.linux_swift_versions) || '[]') }}
298+
os_version: ${{ fromJson((inputs.enable_linux_checks && inputs.linux_os_versions) || '[]') }}
302299
exclude:
303300
- ${{ fromJson(inputs.linux_exclude_swift_versions) }}
304301
container:
@@ -359,13 +356,12 @@ jobs:
359356

360357
linux-static-sdk-build:
361358
name: Static Linux Swift SDK Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
362-
if: ${{ inputs.enable_linux_static_sdk_build }}
363359
runs-on: ubuntu-latest
364360
strategy:
365361
fail-fast: false
366362
matrix:
367-
swift_version: ${{ fromJson(inputs.linux_static_sdk_versions) }}
368-
os_version: ${{ fromJson(inputs.linux_os_versions) }}
363+
swift_version: ${{ fromJson((inputs.enable_linux_static_sdk_build && inputs.linux_static_sdk_versions) || '[]') }}
364+
os_version: ${{ fromJson((inputs.enable_linux_static_sdk_build && inputs.linux_os_versions) || '[]') }}
369365
exclude:
370366
- ${{ fromJson(inputs.linux_static_sdk_exclude_swift_versions) }}
371367
container:
@@ -437,13 +433,12 @@ jobs:
437433
438434
wasm-sdk-build:
439435
name: Swift SDK for Wasm Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
440-
if: ${{ inputs.enable_wasm_sdk_build }}
441436
runs-on: ubuntu-latest
442437
strategy:
443438
fail-fast: false
444439
matrix:
445-
swift_version: ${{ fromJson(inputs.wasm_sdk_versions) }}
446-
os_version: ${{ fromJson(inputs.linux_os_versions) }}
440+
swift_version: ${{ fromJson((inputs.enable_wasm_sdk_build && inputs.wasm_sdk_versions) || '[]') }}
441+
os_version: ${{ fromJson((inputs.enable_wasm_sdk_build && inputs.linux_os_versions) || '[]') }}
447442
exclude:
448443
- ${{ fromJson(inputs.wasm_exclude_swift_versions) }}
449444
container:
@@ -515,13 +510,12 @@ jobs:
515510
516511
embedded-wasm-sdk-build:
517512
name: Embedded Swift SDK for Wasm Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
518-
if: ${{ inputs.enable_embedded_wasm_sdk_build }}
519513
runs-on: ubuntu-latest
520514
strategy:
521515
fail-fast: false
522516
matrix:
523-
swift_version: ${{ fromJson(inputs.wasm_sdk_versions) }}
524-
os_version: ${{ fromJson(inputs.linux_os_versions) }}
517+
swift_version: ${{ fromJson((inputs.enable_embedded_wasm_sdk_build && inputs.wasm_sdk_versions) || '[]') }}
518+
os_version: ${{ fromJson((inputs.enable_embedded_wasm_sdk_build && inputs.linux_os_versions) || '[]') }}
525519
exclude:
526520
- ${{ fromJson(inputs.wasm_exclude_swift_versions) }}
527521
container:
@@ -593,14 +587,13 @@ jobs:
593587
594588
android-sdk-build:
595589
name: Swift SDK for Android Build (${{ matrix.swift_version }} - ${{ matrix.os_version }} - NDK ${{ matrix.ndk_version }})
596-
if: ${{ inputs.enable_android_sdk_build }}
597590
runs-on: ubuntu-latest
598591
strategy:
599592
fail-fast: false
600593
matrix:
601-
swift_version: ${{ fromJson(inputs.android_sdk_versions) }}
602-
ndk_version: ${{ fromJson(inputs.android_ndk_versions) }}
603-
os_version: ${{ fromJson(inputs.linux_os_versions) }}
594+
swift_version: ${{ fromJson((inputs.enable_android_sdk_build && inputs.android_sdk_versions) || '[]') }}
595+
ndk_version: ${{ fromJson((inputs.enable_android_sdk_build && inputs.android_ndk_versions) || '[]') }}
596+
os_version: ${{ fromJson((inputs.enable_android_sdk_build && inputs.linux_os_versions) || '[]') }}
604597
exclude:
605598
- ${{ fromJson(inputs.android_exclude_swift_versions) }}
606599
container:
@@ -672,12 +665,11 @@ jobs:
672665
673666
windows-build:
674667
name: Windows (${{ matrix.swift_version }} - windows-2022)
675-
if: ${{ inputs.enable_windows_checks }}
676668
runs-on: windows-2022
677669
strategy:
678670
fail-fast: false
679671
matrix:
680-
swift_version: ${{ fromJson(inputs.windows_swift_versions) }}
672+
swift_version: ${{ fromJson((inputs.enable_windows_checks && inputs.windows_swift_versions) || '[]') }}
681673
exclude:
682674
- ${{ fromJson(inputs.windows_exclude_swift_versions) }}
683675
steps:

0 commit comments

Comments
 (0)