Skip to content

Add windows-2025 to product build/test matrix; move tool workflows to windows-latest#6086

Closed
guhetier wants to merge 3 commits into
mainfrom
guhetier/add-windows-2025-runners_copilot
Closed

Add windows-2025 to product build/test matrix; move tool workflows to windows-latest#6086
guhetier wants to merge 3 commits into
mainfrom
guhetier/add-windows-2025-runners_copilot

Conversation

@guhetier

@guhetier guhetier commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Applies a consistent rule across all CI workflows:

  • If a job exists to validate a specific Windows version (matrix testing), include both windows-2022 and windows-2025.
  • If a job just needs a Windows runner and the OS version is incidental, use windows-latest.

Changes

File Change
�uild.yml build-windows matrix → builds on both 2022 and 2025 (was 2022 only)
�uild.yml build-windows-official runner → windows-latest (was hardcoded 2022; OS-compat already covered by build-windows)
�uild.yml build-windows-kernel matrix → also targets 2025. No WDK install added — letting CI tell us whether the WDK is still discoverable on the 2025 image. If it isn't, we'll revert this single line.
�uild.yml build-nuget downloads switched to consume windows-2025 artifacts; upload label drops the OS qualifier (a nuget package bundles x86/x64/arm64 binaries — OS in the label was meaningless)
�uild-reuse-win.yml / �uild-reuse-winkernel.yml Default os input → windows-latest (callers always pass an explicit value; default updated for future callers)
dotnet-test.yml Build and test matrices → 2022 + 2025
code-coverage.yml Every windows-2022 reference → windows-latest (build matrix, three test matrices, merge-coverage runner, four artifact names — all consistent)
stress.yml �uild, stress,
ecvfuzz matrices → 2022 + 2025
est.yml build-windows-kernel and bvt-kernel matrices → also target 2025. bvt-kernel download is parameterized on matrix.vec.os with a WinServerPrerelease → windows-2022 fallback (mirrors stress.yml).
est-down-level.yml Release 2.3.11 rows extended to 2025 (matches what 2.4.10 already does)
plugins.yml build_dbgext runner → windows-latest
wan-perf.yml Tool-only jobs → windows-latest

Also fixes the latent stress.yml artifact-name bug where the spinquic test job hardcoded windows-2022 (would have prevented 2025 jobs from picking up the right binaries).

Intentionally NOT changed

  • The windows-2022 || matrix.vec.os fallback pattern in stress.yml and test.yml for self-hosted WinServerPrerelease runners — WinServerPrerelease has no matching kernel/usermode build of its own, so it intentionally consumes 2022 artifacts.

Fixes #5242.

… windows-latest

Adds windows-2025 alongside windows-2022 in the product code matrices (build.yml WinUser, stress.yml build/stress/recvfuzz, dotnet-test.yml build/test). WinKernel is intentionally not extended because GitHub's windows-2025 image does not yet have the bits to build kernel drivers (see test.yml line 58).

Switches tool-only workflows (plugins build_dbgext, wan-perf jobs) to windows-latest so they don't require periodic version bumps.

Also fixes a latent bug in stress.yml where the spinquic test job hardcoded 'windows-2022' in its artifact download name, which would have prevented windows-2025 jobs from picking up the right binaries.

Fixes #5242.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@codecov

codecov Bot commented Jun 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.45%. Comparing base (bcdb8c8) to head (9d36f5b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6086      +/-   ##
==========================================
- Coverage   86.11%   85.45%   -0.67%     
==========================================
  Files          60       60              
  Lines       18841    18841              
==========================================
- Hits        16225    16100     -125     
- Misses       2616     2741     +125     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

guhetier and others added 2 commits June 11, 2026 17:04
…oss workflows

Rule: if a job exists to test a specific OS in a matrix, include both windows-2022 and windows-2025. If a job just needs a Windows runner and the OS version doesn't matter, use windows-latest.

Changes:

- build.yml: build-windows-official runner -> windows-latest

- build.yml: build-windows-kernel matrix now also targets windows-2025 (no WDK install added; this will fail-fast in CI if the WDK is missing from the image)

- build.yml: build-nuget downloads switched to consume windows-2025 artifacts; nuget upload label drops the OS qualifier (irrelevant for a multi-arch package)

- build-reuse-win.yml / build-reuse-winkernel.yml: default 'os' input -> windows-latest; documented windows-2025 in options comment

- code-coverage.yml: every windows-2022 reference -> windows-latest (build matrix, three test matrices, merge-coverage runner, four artifact names)

- test.yml: build-windows-kernel and bvt-kernel matrices now also target windows-2025. bvt-kernel artifact download is parameterized on matrix.vec.os with a WinServerPrerelease -> windows-2022 fallback (mirrors stress.yml).

- test-down-level.yml: added windows-2025 rows for release 2.3.11 to match what 2.4.10 already does

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
windows-2025 image does not yet provide the WDK bits required to build kernel drivers. Keep the entries commented out (build.yml build-windows-kernel, test.yml build-windows-kernel and bvt-kernel) so the intent is documented and easy to re-enable once GitHub adds WDK support.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@guhetier guhetier closed this Jun 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add windows-2025 in github runners (build + tests)

1 participant