Skip to content

Commit b3cca9d

Browse files
Skip matrix jobs more cleanly (take 2) (#208)
1 parent 69624bd commit b3cca9d

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

.github/workflows/swift_package_test.yml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,6 @@ on:
222222
jobs:
223223
macos-build:
224224
name: macOS (Xcode ${{ matrix.xcode_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
225-
if: ${{ inputs.enable_macos_checks }}
226225
runs-on: [self-hosted, macos, "${{ matrix.os_version }}", "${{ matrix.arch }}"]
227226
strategy:
228227
fail-fast: false
@@ -232,6 +231,9 @@ jobs:
232231
arch: ${{ fromJson(inputs.macos_archs) }}
233232
exclude:
234233
- ${{ fromJson(inputs.macos_exclude_xcode_versions) }}
234+
- ${{ fromJson((!inputs.enable_macos_checks && inputs.macos_xcode_versions) || '[]') }}
235+
- ${{ fromJson((!inputs.enable_macos_checks && inputs.macos_versions) || '[]') }}
236+
- ${{ fromJson((!inputs.enable_macos_checks && inputs.macos_archs) || '[]') }}
235237
steps:
236238
- name: Checkout repository
237239
uses: actions/checkout@v4
@@ -260,7 +262,6 @@ jobs:
260262

261263
ios-build:
262264
name: iOS (Build Only, Xcode ${{ matrix.xcode_version }} - ${{ matrix.os_version }} - ${{ matrix.arch }})
263-
if: ${{ inputs.enable_ios_checks }}
264265
runs-on: [self-hosted, macos, "${{ matrix.os_version }}", "${{ matrix.arch }}"]
265266
strategy:
266267
fail-fast: false
@@ -270,6 +271,9 @@ jobs:
270271
arch: ${{ fromJson(inputs.ios_host_archs || inputs.macos_archs) }}
271272
exclude:
272273
- ${{ fromJson(inputs.ios_host_exclude_xcode_versions || inputs.macos_exclude_xcode_versions) }}
274+
- ${{ fromJson((!inputs.enable_ios_checks && (inputs.ios_host_xcode_versions || inputs.macos_xcode_versions)) || '[]') }}
275+
- ${{ fromJson((!inputs.enable_ios_checks && (inputs.ios_host_versions || inputs.macos_versions)) || '[]') }}
276+
- ${{ fromJson((!inputs.enable_ios_checks && (inputs.ios_host_archs || inputs.macos_archs)) || '[]') }}
273277
steps:
274278
- name: Checkout repository
275279
uses: actions/checkout@v4
@@ -296,7 +300,6 @@ jobs:
296300

297301
linux-build:
298302
name: Linux (${{ matrix.swift_version }} - ${{ matrix.os_version }})
299-
if: ${{ inputs.enable_linux_checks }}
300303
runs-on: ubuntu-latest
301304
strategy:
302305
fail-fast: false
@@ -305,6 +308,8 @@ jobs:
305308
os_version: ${{ fromJson(inputs.linux_os_versions) }}
306309
exclude:
307310
- ${{ fromJson(inputs.linux_exclude_swift_versions) }}
311+
- ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_swift_versions) || '[]') }}
312+
- ${{ fromJson((!inputs.enable_linux_checks && inputs.linux_os_versions) || '[]') }}
308313
container:
309314
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
310315
steps:
@@ -362,7 +367,6 @@ jobs:
362367

363368
linux-static-sdk-build:
364369
name: Static Linux Swift SDK Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
365-
if: ${{ inputs.enable_linux_static_sdk_build }}
366370
runs-on: ubuntu-latest
367371
strategy:
368372
fail-fast: false
@@ -371,6 +375,8 @@ jobs:
371375
os_version: ${{ fromJson(inputs.linux_os_versions) }}
372376
exclude:
373377
- ${{ fromJson(inputs.linux_static_sdk_exclude_swift_versions) }}
378+
- ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_static_sdk_versions) || '[]') }}
379+
- ${{ fromJson((!inputs.enable_linux_static_sdk_build && inputs.linux_os_versions) || '[]') }}
374380
container:
375381
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
376382
steps:
@@ -427,7 +433,6 @@ jobs:
427433
428434
wasm-sdk-build:
429435
name: Swift SDK for Wasm Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
430-
if: ${{ inputs.enable_wasm_sdk_build }}
431436
runs-on: ubuntu-latest
432437
strategy:
433438
fail-fast: false
@@ -436,6 +441,8 @@ jobs:
436441
os_version: ${{ fromJson(inputs.linux_os_versions) }}
437442
exclude:
438443
- ${{ fromJson(inputs.wasm_exclude_swift_versions) }}
444+
- ${{ fromJson((!inputs.enable_wasm_sdk_build && inputs.wasm_sdk_versions) || '[]') }}
445+
- ${{ fromJson((!inputs.enable_wasm_sdk_build && inputs.linux_os_versions) || '[]') }}
439446
container:
440447
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
441448
steps:
@@ -492,7 +499,6 @@ jobs:
492499
493500
embedded-wasm-sdk-build:
494501
name: Embedded Swift SDK for Wasm Build (${{ matrix.swift_version }} - ${{ matrix.os_version }})
495-
if: ${{ inputs.enable_embedded_wasm_sdk_build }}
496502
runs-on: ubuntu-latest
497503
strategy:
498504
fail-fast: false
@@ -501,6 +507,8 @@ jobs:
501507
os_version: ${{ fromJson(inputs.linux_os_versions) }}
502508
exclude:
503509
- ${{ fromJson(inputs.wasm_exclude_swift_versions) }}
510+
- ${{ fromJson((!inputs.enable_embedded_wasm_sdk_build && inputs.wasm_sdk_versions) || '[]') }}
511+
- ${{ fromJson((!inputs.enable_embedded_wasm_sdk_build && inputs.linux_os_versions) || '[]') }}
504512
container:
505513
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
506514
steps:
@@ -557,7 +565,6 @@ jobs:
557565
558566
android-sdk-build:
559567
name: Swift SDK for Android Build (${{ matrix.swift_version }} - ${{ matrix.os_version }} - NDK ${{ matrix.ndk_version }})
560-
if: ${{ inputs.enable_android_sdk_build }}
561568
runs-on: ubuntu-latest
562569
strategy:
563570
fail-fast: false
@@ -567,6 +574,9 @@ jobs:
567574
os_version: ${{ fromJson(inputs.linux_os_versions) }}
568575
exclude:
569576
- ${{ fromJson(inputs.android_exclude_swift_versions) }}
577+
- ${{ fromJson((!inputs.enable_android_sdk_build && inputs.android_sdk_versions) || '[]') }}
578+
- ${{ fromJson((!inputs.enable_android_sdk_build && inputs.android_ndk_versions) || '[]') }}
579+
- ${{ fromJson((!inputs.enable_android_sdk_build && inputs.linux_os_versions) || '[]') }}
570580
container:
571581
image: ${{ (contains(matrix.swift_version, 'nightly') && 'swiftlang/swift') || 'swift' }}:${{ matrix.swift_version }}-${{ matrix.os_version }}
572582
steps:
@@ -623,7 +633,6 @@ jobs:
623633
624634
windows-build:
625635
name: Windows (${{ matrix.swift_version }} - ${{ matrix.os_version }})
626-
if: ${{ inputs.enable_windows_checks }}
627636
runs-on: ${{ matrix.os_version }}
628637
strategy:
629638
fail-fast: false
@@ -632,6 +641,8 @@ jobs:
632641
os_version: ${{ fromJson(inputs.windows_os_versions) }}
633642
exclude:
634643
- ${{ fromJson(inputs.windows_exclude_swift_versions) }}
644+
- ${{ fromJson((!inputs.enable_windows_checks && inputs.windows_swift_versions) || '[]') }}
645+
- ${{ fromJson((!inputs.enable_windows_checks && inputs.windows_os_versions) || '[]') }}
635646
steps:
636647
- name: Checkout repository
637648
uses: actions/checkout@v4

0 commit comments

Comments
 (0)