From 1bfe2978353f9be564c670ae6ed6cf7d3f878aaa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 26 Sep 2026 13:13:54 +0000 Subject: [PATCH 1/6] Initial plan From d81a5f23e1103a295d6e1f52059e0c0d8d2f9908 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 26 Sep 2026 13:19:12 +0000 Subject: [PATCH 2/6] Clarify tracking guidance for advisory preview test step Co-authored-by: Digvijay <107279+Digvijay@users.noreply.github.com> --- .github/workflows/ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 14ef3bb..7afaf7b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -128,7 +128,19 @@ jobs: INCLUDE_PREVIEW_TFM: 'true' run: dotnet build Prova.sln --no-restore --configuration Release + # The .NET 11 preview SDK's in-box Microsoft.Testing.Platform test driver can be newer + # than the latest published Microsoft.Testing.Platform NuGet package (the version every + # project here references), which breaks the driver/testhost handshake with a + # MissingMethodException on NamedPipeServer.GetPipeName ("Handshake failures" in the run + # summary). There is no newer package to bump to yet + # (https://www.nuget.org/packages/Microsoft.Testing.Platform lists 2.4.1 as latest), so + # this step is allowed to fail without turning the whole job red; the job-level + # continue-on-error above still covers the Restore/Build steps. Remove this once a + # Microsoft.Testing.Platform release compatible with the net11.0 preview SDK ships, and + # re-check whether failures are still limited to "Handshake failures" rather than actual + # test regressions. - name: Test (including net11.0) + continue-on-error: true env: INCLUDE_PREVIEW_TFM: 'true' run: dotnet test Prova.sln --no-build --configuration Release From 13ad1ca8d8d8e1a761d530218797857418784965 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 26 Sep 2026 13:20:16 +0000 Subject: [PATCH 3/6] Only ignore the specific known handshake incompatibility, not all test failures Co-authored-by: Digvijay <107279+Digvijay@users.noreply.github.com> --- .github/workflows/ci.yml | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7afaf7b..65c45f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -133,14 +133,20 @@ jobs: # project here references), which breaks the driver/testhost handshake with a # MissingMethodException on NamedPipeServer.GetPipeName ("Handshake failures" in the run # summary). There is no newer package to bump to yet - # (https://www.nuget.org/packages/Microsoft.Testing.Platform lists 2.4.1 as latest), so - # this step is allowed to fail without turning the whole job red; the job-level - # continue-on-error above still covers the Restore/Build steps. Remove this once a - # Microsoft.Testing.Platform release compatible with the net11.0 preview SDK ships, and - # re-check whether failures are still limited to "Handshake failures" rather than actual - # test regressions. + # (https://www.nuget.org/packages/Microsoft.Testing.Platform lists 2.4.1 as latest). + # Only that specific, known incompatibility is swallowed below; any other test failure + # still fails this step. Remove the special-casing once a Microsoft.Testing.Platform + # release compatible with the net11.0 preview SDK ships. - name: Test (including net11.0) - continue-on-error: true env: INCLUDE_PREVIEW_TFM: 'true' - run: dotnet test Prova.sln --no-build --configuration Release + run: | + set +e + output=$(dotnet test Prova.sln --no-build --configuration Release 2>&1) + status=$? + echo "$output" + if [ $status -ne 0 ] && echo "$output" | grep -q "Handshake failures" && echo "$output" | grep -q "NamedPipeServer.GetPipeName"; then + echo "::warning::Ignoring known net11.0 preview SDK / Microsoft.Testing.Platform handshake incompatibility (exit $status). See the comment above this step." + exit 0 + fi + exit $status From acc3c9b747bc581a0600c039016e829a4b003e47 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 26 Sep 2026 13:20:56 +0000 Subject: [PATCH 4/6] Pin shell to bash and note fragility of the string-match workaround Co-authored-by: Digvijay <107279+Digvijay@users.noreply.github.com> --- .github/workflows/ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 65c45f3..08a5b30 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -135,9 +135,13 @@ jobs: # summary). There is no newer package to bump to yet # (https://www.nuget.org/packages/Microsoft.Testing.Platform lists 2.4.1 as latest). # Only that specific, known incompatibility is swallowed below; any other test failure - # still fails this step. Remove the special-casing once a Microsoft.Testing.Platform - # release compatible with the net11.0 preview SDK ships. + # still fails this step. This is a string match on the current exception/log wording, so + # it can silently stop matching (or start over-matching) if a future SDK or tooling update + # changes that wording -- re-verify this pattern against the current failure whenever this + # step starts unexpectedly passing or failing. Remove the special-casing entirely once a + # Microsoft.Testing.Platform release compatible with the net11.0 preview SDK ships. - name: Test (including net11.0) + shell: bash env: INCLUDE_PREVIEW_TFM: 'true' run: | From a33d4eec1187c8c664bfd61a93221ced308f308d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 26 Sep 2026 13:21:31 +0000 Subject: [PATCH 5/6] Clarify why set +e is scoped to this step's script Co-authored-by: Digvijay <107279+Digvijay@users.noreply.github.com> --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 08a5b30..ee5f320 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -145,6 +145,9 @@ jobs: env: INCLUDE_PREVIEW_TFM: 'true' run: | + # `set +e` only affects this step's own script; it lets the command below run + # to completion (rather than aborting the step immediately) so its output and + # exit code can be inspected before deciding whether to fail. set +e output=$(dotnet test Prova.sln --no-build --configuration Release 2>&1) status=$? From 8f3441c62068a3a1429be94bb11f098d04136f3e Mon Sep 17 00:00:00 2001 From: Digvijay Chauhan Date: Sun, 27 Sep 2026 12:13:12 +0200 Subject: [PATCH 6/6] Keep preview test failures visible in advisory CI job Restore the unmodified dotnet test exit status and rely on the preview job's existing continue-on-error setting instead of matching SDK failure text. Stable build/test and format checks remain strict. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- .github/workflows/ci.yml | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee5f320..70c3fc5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,8 +97,9 @@ jobs: preview: name: Preview .NET (net11.0) runs-on: ubuntu-latest - # Advisory. A preview SDK can regress for reasons outside this repository, so this leg - # reports breakage without blocking the merge queue. + # Advisory: keep the entire preview job non-blocking, not its individual steps. + # A failed preview test remains a failed step while stable build/test and format + # jobs still gate the workflow. continue-on-error: true steps: @@ -128,32 +129,7 @@ jobs: INCLUDE_PREVIEW_TFM: 'true' run: dotnet build Prova.sln --no-restore --configuration Release - # The .NET 11 preview SDK's in-box Microsoft.Testing.Platform test driver can be newer - # than the latest published Microsoft.Testing.Platform NuGet package (the version every - # project here references), which breaks the driver/testhost handshake with a - # MissingMethodException on NamedPipeServer.GetPipeName ("Handshake failures" in the run - # summary). There is no newer package to bump to yet - # (https://www.nuget.org/packages/Microsoft.Testing.Platform lists 2.4.1 as latest). - # Only that specific, known incompatibility is swallowed below; any other test failure - # still fails this step. This is a string match on the current exception/log wording, so - # it can silently stop matching (or start over-matching) if a future SDK or tooling update - # changes that wording -- re-verify this pattern against the current failure whenever this - # step starts unexpectedly passing or failing. Remove the special-casing entirely once a - # Microsoft.Testing.Platform release compatible with the net11.0 preview SDK ships. - name: Test (including net11.0) - shell: bash env: INCLUDE_PREVIEW_TFM: 'true' - run: | - # `set +e` only affects this step's own script; it lets the command below run - # to completion (rather than aborting the step immediately) so its output and - # exit code can be inspected before deciding whether to fail. - set +e - output=$(dotnet test Prova.sln --no-build --configuration Release 2>&1) - status=$? - echo "$output" - if [ $status -ne 0 ] && echo "$output" | grep -q "Handshake failures" && echo "$output" | grep -q "NamedPipeServer.GetPipeName"; then - echo "::warning::Ignoring known net11.0 preview SDK / Microsoft.Testing.Platform handshake incompatibility (exit $status). See the comment above this step." - exit 0 - fi - exit $status + run: dotnet test Prova.sln --no-build --configuration Release