77 HUSKY : 0
88 POWERSHELL_UPDATECHECK : Off
99 SDK_HOME : ${{ inputs.sdk-home }}
10- SETUP_NODE_TIMEOUT_MINUTES : 10
1110
1211on :
1312 workflow_call :
2726 dotnet-linux-x64 :
2827 name : " .NET (ubuntu-latest, CAPI)"
2928 if : inputs.platform == 'all' || inputs.platform == 'linux-x64'
30- timeout-minutes : 30
3129 runs-on : ubuntu-latest
3230 defaults :
3331 run :
3836 DOTNET_TEST_RESULTS_DIRECTORY : TestResults/subprocess
3937 steps :
4038 - uses : actions/checkout@v7
41- timeout-minutes : 4
4239 with :
4340 persist-credentials : false
4441 - uses : ./.github/actions/download-sdk-runtime
10299 name : " .NET (macos-26-xlarge-agent-runtime, default, CAPI)"
103100 if : inputs.platform == 'all' || inputs.platform == 'darwin-arm64'
104101 runs-on : macos-26-xlarge-agent-runtime
105- timeout-minutes : 30
106102 defaults :
107103 run :
108104 shell : bash
@@ -112,7 +108,6 @@ jobs:
112108 DOTNET_TEST_RESULTS_DIRECTORY : TestResults/subprocess
113109 steps :
114110 - uses : actions/checkout@v7
115- timeout-minutes : 4
116111 with :
117112 persist-credentials : false
118113 - uses : ./.github/actions/download-sdk-runtime
@@ -153,21 +148,31 @@ jobs:
153148 retention-days : 7
154149
155150 dotnet-win32-x64 :
156- name : " .NET (windows-latest, default , CAPI)"
151+ name : " .NET (windows-latest, ${{ matrix.framework }}, ${{ matrix.suite.name }} , CAPI)"
157152 if : inputs.platform == 'all' || inputs.platform == 'win32-x64'
158153 runs-on : windows-latest
159- timeout-minutes : 30
154+ strategy :
155+ fail-fast : false
156+ matrix :
157+ framework : [net8.0, net472]
158+ # Complementary filters include every test, including newly added classes.
159+ suite :
160+ - name : e2e-s
161+ filter : FullyQualifiedName~GitHub.Copilot.Test.E2E.S
162+ - name : remaining
163+ filter : FullyQualifiedName!~GitHub.Copilot.Test.E2E.S
160164 defaults :
161165 run :
162166 shell : bash
163167 working-directory : ${{ inputs.sdk-home }}/dotnet
164168 env :
165169 COPILOT_SDK_E2E_BACKEND : capi
166170 DOTNET_TEST_RUNTIME : win-x64
171+ DOTNET_TEST_FRAMEWORK : ${{ matrix.framework }}
172+ DOTNET_TEST_FILTER : ${{ matrix.suite.filter }}
167173 DOTNET_TEST_RESULTS_DIRECTORY : TestResults/subprocess
168174 steps :
169175 - uses : actions/checkout@v7
170- timeout-minutes : 4
171176 with :
172177 persist-credentials : false
173178 - uses : ./.github/actions/download-sdk-runtime
@@ -183,7 +188,7 @@ jobs:
183188 with :
184189 node-version : 22
185190 - run : dotnet restore test/GitHub.Copilot.SDK.Test.csproj --runtime "$DOTNET_TEST_RUNTIME" -p:CopilotCliBinaryPath="$COPILOT_RUNTIME_BINARY_PATH" -p:CopilotSkipCliDownload=true
186- - run : dotnet build test/GitHub.Copilot.SDK.Test.csproj --no-restore --runtime "$DOTNET_TEST_RUNTIME" -p:CopilotCliBinaryPath="$COPILOT_RUNTIME_BINARY_PATH" -p:CopilotSkipCliDownload=true
191+ - run : dotnet build test/GitHub.Copilot.SDK.Test.csproj --no-restore --framework "$DOTNET_TEST_FRAMEWORK" -- runtime "$DOTNET_TEST_RUNTIME" -p:CopilotCliBinaryPath="$COPILOT_RUNTIME_BINARY_PATH" -p:CopilotSkipCliDownload=true
187192 - run : npm ci --ignore-scripts
188193 working-directory : ${{ inputs.sdk-home }}/test/harness
189194 - run : pwsh.exe -Command "Write-Host 'PowerShell ready'"
@@ -203,7 +208,7 @@ jobs:
203208 - if : failure()
204209 uses : actions/upload-artifact@v7
205210 with :
206- name : dotnet-test-diagnostics-windows-latest-default -capi-${{ github.run_attempt }}
211+ name : dotnet-test-diagnostics-windows-latest-${{ matrix.framework }}-${{ matrix.suite.name }} -capi-${{ github.run_attempt }}
207212 path : ${{ inputs.sdk-home }}/dotnet/TestResults/
208213 if-no-files-found : warn
209214 retention-days : 7
@@ -212,12 +217,10 @@ jobs:
212217 name : " .NET (Alpine x64, CAPI)"
213218 if : inputs.platform == 'all' || inputs.platform == 'linuxmusl-x64'
214219 runs-on : ubuntu-latest
215- timeout-minutes : 20
216220 env :
217221 COPILOT_SDK_E2E_BACKEND : capi
218222 steps :
219223 - uses : actions/checkout@v7
220- timeout-minutes : 4
221224 with :
222225 persist-credentials : false
223226 - uses : ./.github/actions/download-sdk-runtime
0 commit comments