Skip to content

Commit d3e8c8c

Browse files
authored
Introduce JSON matrix workflow (#3013)
Introduce and adopt a new method for defining test matrices, `swift_test_matrix.yml`. ⚠️ Any external adopters of the unit tests, Cxx interop and benchmarks workflows are automatically opted in to use the new infrastructure. ### Motivation: * The current matrix workflow has the limitation that it only supports pre-defined sets of variables which are explored in the test matrix. At the moment this is a pre-defined set of Swift versions on Linux and Windows. * Adding more means hard-coding them at multiple levels of the workflow hierarchy. * Currently skipped Windows matrix jobs show up as successes in the GitHub UI leading to a misleading impression of good coverage. ### Modifications: Introduce and adopt a new method for defining test matrices, `swift_test_matrix.yml`. The new method is based around the approach of defining the test matrix via a JSON object which may be supplied via an input string from another workflow or from a file on-disk in a repository. Taking this approach means that we have the ability to add new targets to the matrix simply by adding new elements to the JSON array, increasing flexibility and the scope for future growth. The unit tests, Cxx interop and benchmarks workflows are all modified to use the new approach, this opts-in all downstream adopters. This should be transparent to all downstream adopters. In order to unify the Linux and Windows jobs I removed the use of the `container:` GitHub Actions affordance in the Linux jobs which transparently means all steps are executed within the nested container. Instead we must manually call in to the docker container which complicates scripting a little. I tested to see if doing this slowed down the jobs (perhaps GitHub was caching the docker images more intelligently) but it does not. This approach follows the pattern of @FranzBusch 's open PR #2942 ### Result: * More flexible test matrix definitions * No more false-passes for disabled Windows targets
1 parent 876fbf6 commit d3e8c8c

File tree

7 files changed

+380
-56
lines changed

7 files changed

+380
-56
lines changed

.github/workflows/benchmarks.yml

+24-10
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,32 @@ on:
4545
default: false
4646

4747
jobs:
48+
construct-matrix:
49+
name: Construct Benchmarks matrix
50+
runs-on: ubuntu-latest
51+
outputs:
52+
benchmarks-matrix: '${{ steps.generate-matrix.outputs.benchmarks-matrix }}'
53+
steps:
54+
- name: Checkout repository
55+
uses: actions/checkout@v4
56+
with:
57+
persist-credentials: false
58+
- id: generate-matrix
59+
run: echo "benchmarks-matrix=$(./scripts/generate_matrix.sh)" >> "$GITHUB_OUTPUT"
60+
env:
61+
MATRIX_LINUX_COMMAND: "swift package --package-path ${{ inputs.benchmark_package_path }} ${{ inputs.swift_package_arguments }} benchmark baseline check --check-absolute-path ${{ inputs.benchmark_package_path }}/Thresholds/${SWIFT_VERSION}/"
62+
MATRIX_LINUX_SETUP_COMMAND: "apt-get update -y -q && apt-get install -y -q libjemalloc-dev"
63+
MATRIX_LINUX_5_9_ENABLED: ${{ inputs.linux_5_9_enabled }}
64+
MATRIX_LINUX_5_10_ENABLED: ${{ inputs.linux_5_10_enabled }}
65+
MATRIX_LINUX_6_0_ENABLED: ${{ inputs.linux_6_0_enabled }}
66+
MATRIX_LINUX_NIGHTLY_6_0_ENABLED: ${{ inputs.linux_nightly_6_0_enabled }}
67+
MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }}
68+
4869
benchmarks:
4970
name: Benchmarks
71+
needs: construct-matrix
5072
# Workaround https://github.com/nektos/act/issues/1875
51-
uses: apple/swift-nio/.github/workflows/swift_matrix.yml@main
73+
uses: apple/swift-nio/.github/workflows/swift_test_matrix.yml@matrix_file # TODO: replace with @main
5274
with:
5375
name: "Benchmarks"
54-
matrix_linux_command: "apt-get update -y -q && apt-get install -y -q libjemalloc-dev && swift package --package-path ${{ inputs.benchmark_package_path }} ${{ inputs.swift_package_arguments }} benchmark baseline check --check-absolute-path ${{ inputs.benchmark_package_path }}/Thresholds/${SWIFT_VERSION}/"
55-
matrix_linux_5_9_enabled: ${{ inputs.linux_5_9_enabled }}
56-
matrix_linux_5_10_enabled: ${{ inputs.linux_5_10_enabled }}
57-
matrix_linux_6_0_enabled: ${{ inputs.linux_6_0_enabled }}
58-
matrix_linux_nightly_6_0_enabled: ${{ inputs.linux_nightly_6_0_enabled }}
59-
matrix_linux_nightly_main_enabled: ${{ inputs.linux_nightly_main_enabled }}
60-
matrix_windows_6_0_enabled: ${{ inputs.windows_6_0_enabled }}
61-
matrix_windows_nightly_6_0_enabled: ${{ inputs.windows_nightly_6_0_enabled }}
62-
matrix_windows_nightly_main_enabled: ${{ inputs.windows_nightly_main_enabled }}
76+
matrix_string: '${{ needs.construct-matrix.outputs.benchmarks-matrix }}'

.github/workflows/cxx_interop.yml

+27-13
Original file line numberDiff line numberDiff line change
@@ -26,30 +26,44 @@ on:
2626

2727
windows_6_0_enabled:
2828
type: boolean
29-
description: "Boolean to enable the Windows 6.0 Swift version matrix job. Defaults to true."
29+
description: "Boolean to enable the Windows 6.0 Swift version matrix job. Defaults to false. Currently has no effect!" # TODO: implement Windows Cxx compat checking
3030
default: false
3131
windows_nightly_6_0_enabled:
3232
type: boolean
33-
description: "Boolean to enable the Windows nightly 6.0 Swift version matrix job. Defaults to true."
33+
description: "Boolean to enable the Windows nightly 6.0 Swift version matrix job. Defaults to false. Currently has no effect!" # TODO: implement Windows Cxx compat checking
3434
default: false
3535
windows_nightly_main_enabled:
3636
type: boolean
37-
description: "Boolean to enable the Windows nightly main Swift version matrix job. Defaults to true."
37+
description: "Boolean to enable the Windows nightly main Swift version matrix job. Defaults to false. Currently has no effect!" # TODO: implement Windows Cxx compat checking
3838
default: false
3939

4040
jobs:
41+
construct-matrix:
42+
name: Construct Cxx interop matrix
43+
runs-on: ubuntu-latest
44+
outputs:
45+
cxx-interop-matrix: '${{ steps.generate-matrix.outputs.cxx-interop-matrix }}'
46+
steps:
47+
- name: Checkout repository
48+
uses: actions/checkout@v4
49+
with:
50+
persist-credentials: false
51+
- id: generate-matrix
52+
run: echo "cxx-interop-matrix=$(./scripts/generate_matrix.sh)" >> "$GITHUB_OUTPUT"
53+
env:
54+
MATRIX_LINUX_COMMAND: "curl -s https://raw.githubusercontent.com/apple/swift-nio/main/scripts/check-cxx-interop-compatibility.sh | bash"
55+
MATRIX_LINUX_SETUP_COMMAND: "apt-get update -y -q && apt-get install -y -q curl jq"
56+
MATRIX_LINUX_5_9_ENABLED: ${{ inputs.linux_5_9_enabled }}
57+
MATRIX_LINUX_5_10_ENABLED: ${{ inputs.linux_5_10_enabled }}
58+
MATRIX_LINUX_6_0_ENABLED: ${{ inputs.linux_6_0_enabled }}
59+
MATRIX_LINUX_NIGHTLY_6_0_ENABLED: ${{ inputs.linux_nightly_6_0_enabled }}
60+
MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }}
61+
4162
cxx-interop:
4263
name: Cxx interop
64+
needs: construct-matrix
4365
# Workaround https://github.com/nektos/act/issues/1875
44-
uses: apple/swift-nio/.github/workflows/swift_matrix.yml@main
66+
uses: apple/swift-nio/.github/workflows/swift_test_matrix.yml@matrix_file # TODO: replace with @main
4567
with:
4668
name: "Cxx interop"
47-
matrix_linux_command: "apt-get update -y -q && apt-get install -y -q jq && curl -s https://raw.githubusercontent.com/apple/swift-nio/main/scripts/check-cxx-interop-compatibility.sh | bash"
48-
matrix_linux_5_9_enabled: ${{ inputs.linux_5_9_enabled }}
49-
matrix_linux_5_10_enabled: ${{ inputs.linux_5_10_enabled }}
50-
matrix_linux_6_0_enabled: ${{ inputs.linux_6_0_enabled }}
51-
matrix_linux_nightly_6_0_enabled: ${{ inputs.linux_nightly_6_0_enabled }}
52-
matrix_linux_nightly_main_enabled: ${{ inputs.linux_nightly_main_enabled }}
53-
matrix_windows_6_0_enabled: ${{ inputs.windows_6_0_enabled }}
54-
matrix_windows_nightly_6_0_enabled: ${{ inputs.windows_nightly_6_0_enabled }}
55-
matrix_windows_nightly_main_enabled: ${{ inputs.windows_nightly_main_enabled }}
69+
matrix_string: '${{ needs.construct-matrix.outputs.cxx-interop-matrix }}'

.github/workflows/main.yml

+23-6
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
unit-tests:
1111
name: Unit tests
1212
# Workaround https://github.com/nektos/act/issues/1875
13-
uses: apple/swift-nio/.github/workflows/unit_tests.yml@main
13+
uses: apple/swift-nio/.github/workflows/unit_tests.yml@matrix_file # TODO: replace with @main
1414
with:
1515
linux_5_9_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
1616
linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
@@ -21,19 +21,36 @@ jobs:
2121
cxx-interop:
2222
name: Cxx interop
2323
# Workaround https://github.com/nektos/act/issues/1875
24-
uses: apple/swift-nio/.github/workflows/cxx_interop.yml@main
24+
uses: apple/swift-nio/.github/workflows/cxx_interop.yml@matrix_file # TODO: replace with @main
2525

2626
benchmarks:
2727
name: Benchmarks
2828
# Workaround https://github.com/nektos/act/issues/1875
29-
uses: apple/swift-nio/.github/workflows/benchmarks.yml@main
29+
uses: apple/swift-nio/.github/workflows/benchmarks.yml@matrix_file # TODO: replace with @main
3030
with:
3131
benchmark_package_path: "Benchmarks"
3232

33+
construct-integration-test-matrix:
34+
name: Construct integration test matrix
35+
runs-on: ubuntu-latest
36+
outputs:
37+
integration-test-matrix: '${{ steps.generate-matrix.outputs.integration-test-matrix }}'
38+
steps:
39+
- name: Checkout repository
40+
uses: actions/checkout@v4
41+
with:
42+
persist-credentials: false
43+
- id: generate-matrix
44+
run: echo "integration-test-matrix=$(./scripts/generate_matrix.sh)" >> "$GITHUB_OUTPUT"
45+
env:
46+
MATRIX_LINUX_SETUP_COMMAND: "apt-get update -y -q && apt-get install -y -q lsof dnsutils netcat-openbsd net-tools curl jq"
47+
MATRIX_LINUX_COMMAND: "./scripts/integration_tests.sh"
48+
3349
integration-tests:
34-
name: Integration Tests
50+
name: Integration tests
51+
needs: construct-integration-test-matrix
3552
# Workaround https://github.com/nektos/act/issues/1875
36-
uses: apple/swift-nio/.github/workflows/swift_matrix.yml@main
53+
uses: apple/swift-nio/.github/workflows/swift_test_matrix.yml@matrix_file # TODO: replace with @main
3754
with:
3855
name: "Integration tests"
39-
matrix_linux_command: "apt-get update -y -q && apt-get install -y -q lsof dnsutils netcat-openbsd net-tools curl jq && ./scripts/integration_tests.sh"
56+
matrix_string: '${{ needs.construct-integration-test-matrix.outputs.integration-test-matrix }}'

.github/workflows/pull_request.yml

+25-8
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,50 @@ jobs:
1414
unit-tests:
1515
name: Unit tests
1616
# Workaround https://github.com/nektos/act/issues/1875
17-
uses: apple/swift-nio/.github/workflows/unit_tests.yml@main
17+
uses: apple/swift-nio/.github/workflows/unit_tests.yml@matrix_file # TODO: replace with @main
1818
with:
1919
linux_5_9_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
2020
linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
21-
linux_6_0_arguments_override: "--explicit-target-dependency-import-check error"
22-
linux_nightly_6_0_arguments_override: "--explicit-target-dependency-import-check error"
21+
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
22+
linux_nightly_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
2323
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"
2424

2525
benchmarks:
2626
name: Benchmarks
2727
# Workaround https://github.com/nektos/act/issues/1875
28-
uses: apple/swift-nio/.github/workflows/benchmarks.yml@main
28+
uses: apple/swift-nio/.github/workflows/benchmarks.yml@matrix_file # TODO: replace with @main
2929
with:
3030
benchmark_package_path: "Benchmarks"
3131

3232
cxx-interop:
3333
name: Cxx interop
3434
# Workaround https://github.com/nektos/act/issues/1875
35-
uses: apple/swift-nio/.github/workflows/cxx_interop.yml@main
35+
uses: apple/swift-nio/.github/workflows/cxx_interop.yml@matrix_file # TODO: replace with @main
36+
37+
construct-integration-test-matrix:
38+
name: Construct integration test matrix
39+
runs-on: ubuntu-latest
40+
outputs:
41+
integration-test-matrix: '${{ steps.generate-matrix.outputs.integration-test-matrix }}'
42+
steps:
43+
- name: Checkout repository
44+
uses: actions/checkout@v4
45+
with:
46+
persist-credentials: false
47+
- id: generate-matrix
48+
run: echo "integration-test-matrix=$(./scripts/generate_matrix.sh)" >> "$GITHUB_OUTPUT"
49+
env:
50+
MATRIX_LINUX_SETUP_COMMAND: "apt-get update -y -q && apt-get install -y -q lsof dnsutils netcat-openbsd net-tools curl jq"
51+
MATRIX_LINUX_COMMAND: "./scripts/integration_tests.sh"
3652

3753
integration-tests:
38-
name: Integration Tests
54+
name: Integration tests
55+
needs: construct-integration-test-matrix
3956
# Workaround https://github.com/nektos/act/issues/1875
40-
uses: apple/swift-nio/.github/workflows/swift_matrix.yml@main
57+
uses: apple/swift-nio/.github/workflows/swift_test_matrix.yml@matrix_file # TODO: replace with @main
4158
with:
4259
name: "Integration tests"
43-
matrix_linux_command: "apt-get update -y -q && apt-get install -y -q lsof dnsutils netcat-openbsd net-tools curl jq && ./scripts/integration_tests.sh"
60+
matrix_string: '${{ needs.construct-integration-test-matrix.outputs.integration-test-matrix }}'
4461

4562
vsock-tests:
4663
name: Vsock tests
+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Matrix
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
name:
7+
type: string
8+
description: "The name of the workflow used for the concurrency group."
9+
required: true
10+
matrix_path:
11+
type: string
12+
description: "The path of the test matrix definition."
13+
default: ""
14+
matrix_string:
15+
type: string
16+
description: "The test matrix definition."
17+
default: ""
18+
19+
# We will cancel previously triggered workflow runs
20+
concurrency:
21+
group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.name }}
22+
cancel-in-progress: true
23+
24+
jobs:
25+
generate-matrix:
26+
name: Prepare matrices
27+
runs-on: ubuntu-latest
28+
outputs:
29+
swift-matrix: ${{ steps.load-matrix.outputs.swift-matrix }}
30+
steps:
31+
- name: Checkout repository
32+
uses: actions/checkout@v4
33+
with:
34+
persist-credentials: false
35+
- name: Mark the workspace as safe
36+
# https://github.com/actions/checkout/issues/766
37+
run: git config --global --add safe.directory ${GITHUB_WORKSPACE}
38+
- id: load-matrix
39+
run: |
40+
if [ -n '${{ inputs.matrix_string }}' ]; then
41+
printf "swift-matrix=%s" "$(echo '${{ inputs.matrix_string }}' | jq -c '.')" >> "$GITHUB_OUTPUT"
42+
else
43+
printf "swift-matrix=%s" "$(jq -c '.' ${{ inputs.matrix_path }})" >> "$GITHUB_OUTPUT"
44+
fi
45+
46+
execute-matrix:
47+
name: ${{ matrix.swift.platform }} (${{ matrix.swift.name }})
48+
needs: generate-matrix
49+
runs-on: ${{ matrix.swift.runner }}
50+
strategy:
51+
fail-fast: false
52+
matrix: ${{ fromJson(needs.generate-matrix.outputs.swift-matrix) }}
53+
steps:
54+
- name: Checkout repository
55+
uses: actions/checkout@v4
56+
with:
57+
persist-credentials: false
58+
submodules: true
59+
- name: Pull Docker image
60+
run: docker pull ${{ matrix.swift.image }}
61+
- name: Run matrix job
62+
if: ${{ matrix.swift.platform != 'Windows' }}
63+
run: |
64+
if [[ -n "${{ matrix.swift.setup_command }}" ]]; then
65+
setup_command_expression="${{ matrix.swift.setup_command }} &&"
66+
else
67+
setup_command_expression=""
68+
fi
69+
workspace="/$(basename ${{ github.workspace }})"
70+
docker run -v ${{ github.workspace }}:"$workspace" \
71+
-w "$workspace" \
72+
-e SWIFT_VERSION="${{ matrix.swift.swift_version }}" \
73+
-e setup_command_expression="$setup_command_expression" \
74+
-e workspace="$workspace" \
75+
${{ matrix.swift.image }} \
76+
bash -c "swift --version && git config --global --add safe.directory \"$workspace\" && $setup_command_expression ${{ matrix.swift.command }} ${{ matrix.swift.command_arguments }}"
77+
- name: Run matrix job (Windows)
78+
if: ${{ matrix.swift.platform == 'Windows' }}
79+
run: |
80+
if (-not [string]::IsNullOrEmpty("${{ matrix.swift.setup_command }}")) {
81+
$setup_command_expression = "${{ matrix.swift.setup_command }} &"
82+
} else {
83+
$setup_command_expression = ""
84+
}
85+
$workspace = "C:\" + (Split-Path ${{ github.workspace }} -Leaf)
86+
docker run -v ${{ github.workspace }}:$($workspace) `
87+
-w $($workspace) `
88+
-e SWIFT_VERSION="${{ matrix.swift.swift_version }}" `
89+
-e setup_command_expression=%setup_command_expression% `
90+
${{ matrix.swift.image }} `
91+
cmd /s /c "swift --version & powershell Invoke-Expression ""$($setup_command_expression) ${{ matrix.swift.command }} ${{ matrix.swift.command_arguments }}"""
92+
env:
93+
SWIFT_VERSION: ${{ matrix.swift.swift_version }}

.github/workflows/unit_tests.yml

+35-19
Original file line numberDiff line numberDiff line change
@@ -70,27 +70,43 @@ on:
7070
default: ""
7171

7272
jobs:
73+
construct-matrix:
74+
name: Construct unit test matrix
75+
runs-on: ubuntu-latest
76+
outputs:
77+
unit-test-matrix: '${{ steps.generate-matrix.outputs.unit-test-matrix }}'
78+
steps:
79+
- name: Checkout repository
80+
uses: actions/checkout@v4
81+
with:
82+
persist-credentials: false
83+
- id: generate-matrix
84+
run: echo "unit-test-matrix=$(./scripts/generate_matrix.sh)" >> "$GITHUB_OUTPUT"
85+
env:
86+
MATRIX_LINUX_COMMAND: "swift test"
87+
MATRIX_LINUX_5_9_ENABLED: ${{ inputs.linux_5_9_enabled }}
88+
MATRIX_LINUX_5_9_COMMAND_ARGUMENTS: ${{ inputs.linux_5_9_arguments_override }}
89+
MATRIX_LINUX_5_10_ENABLED: ${{ inputs.linux_5_10_enabled }}
90+
MATRIX_LINUX_5_10_COMMAND_ARGUMENTS: ${{ inputs.linux_5_10_arguments_override }}
91+
MATRIX_LINUX_6_0_ENABLED: ${{ inputs.linux_6_0_enabled }}
92+
MATRIX_LINUX_6_0_COMMAND_ARGUMENTS: ${{ inputs.linux_6_0_arguments_override }}
93+
MATRIX_LINUX_NIGHTLY_6_0_ENABLED: ${{ inputs.linux_nightly_6_0_enabled }}
94+
MATRIX_LINUX_NIGHTLY_6_0_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_6_0_arguments_override }}
95+
MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }}
96+
MATRIX_LINUX_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_main_arguments_override }}
97+
MATRIX_WINDOWS_COMMAND: "swift test"
98+
MATRIX_WINDOWS_6_0_ENABLED: ${{ inputs.windows_6_0_enabled }}
99+
MATRIX_WINDOWS_6_0_COMMAND_ARGUMENTS: ${{ inputs.windows_6_0_arguments_override }}
100+
MATRIX_WINDOWS_NIGHTLY_6_0_ENABLED: ${{ inputs.windows_nightly_6_0_enabled }}
101+
MATRIX_WINDOWS_NIGHTLY_6_0_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_6_0_arguments_override }}
102+
MATRIX_WINDOWS_NIGHTLY_MAIN_ENABLED: ${{ inputs.windows_nightly_main_enabled }}
103+
MATRIX_WINDOWS_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_main_arguments_override }}
104+
73105
unit-tests:
74106
name: Unit tests
107+
needs: construct-matrix
75108
# Workaround https://github.com/nektos/act/issues/1875
76-
uses: apple/swift-nio/.github/workflows/swift_matrix.yml@main
109+
uses: apple/swift-nio/.github/workflows/swift_test_matrix.yml@matrix_file # TODO: replace with @main
77110
with:
78111
name: "Unit tests"
79-
matrix_linux_command: "swift test"
80-
matrix_linux_5_9_enabled: ${{ inputs.linux_5_9_enabled }}
81-
matrix_linux_5_9_command_override: "swift test ${{ inputs.linux_5_9_arguments_override }}"
82-
matrix_linux_5_10_enabled: ${{ inputs.linux_5_10_enabled }}
83-
matrix_linux_5_10_command_override: "swift test ${{ inputs.linux_5_10_arguments_override }}"
84-
matrix_linux_6_0_enabled: ${{ inputs.linux_6_0_enabled }}
85-
matrix_linux_6_0_command_override: "swift test ${{ inputs.linux_6_0_arguments_override }}"
86-
matrix_linux_nightly_6_0_enabled: ${{ inputs.linux_nightly_6_0_enabled }}
87-
matrix_linux_nightly_6_0_command_override: "swift test ${{ inputs.linux_nightly_6_0_arguments_override }}"
88-
matrix_linux_nightly_main_enabled: ${{ inputs.linux_nightly_main_enabled }}
89-
matrix_linux_nightly_main_command_override: "swift test ${{ inputs.linux_nightly_main_arguments_override }}"
90-
matrix_windows_command: "swift test"
91-
matrix_windows_6_0_enabled: ${{ inputs.windows_6_0_enabled }}
92-
matrix_windows_6_0_command_override: "swift test ${{ inputs.windows_6_0_arguments_override }}"
93-
matrix_windows_nightly_6_0_enabled: ${{ inputs.windows_nightly_6_0_enabled }}
94-
matrix_windows_nightly_6_0_command_override: "swift test ${{ inputs.windows_nightly_6_0_arguments_override }}"
95-
matrix_windows_nightly_main_enabled: ${{ inputs.windows_nightly_main_enabled }}
96-
matrix_windows_nightly_main_command_override: "swift test ${{ inputs.windows_nightly_main_arguments_override }}"
112+
matrix_string: '${{ needs.construct-matrix.outputs.unit-test-matrix }}'

0 commit comments

Comments
 (0)