Add windows-2025 to product build/test matrix; move tool workflows to windows-latest#6086
Closed
guhetier wants to merge 3 commits into
Closed
Add windows-2025 to product build/test matrix; move tool workflows to windows-latest#6086guhetier wants to merge 3 commits into
guhetier wants to merge 3 commits into
Conversation
… 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 Report✅ All modified and coverable lines are covered by tests. 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. 🚀 New features to boost your workflow:
|
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Applies a consistent rule across all CI workflows:
Changes
build-windowsmatrix → builds on both 2022 and 2025 (was 2022 only)build-windows-officialrunner →windows-latest(was hardcoded 2022; OS-compat already covered bybuild-windows)build-windows-kernelmatrix → 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.build-nugetdownloads 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)merge-coveragerunner, four artifact names — all consistent)build-windows-kernelandbvt-kernelmatrices → also target 2025.bvt-kerneldownload is parameterized onmatrix.vec.oswith aWinServerPrerelease → windows-2022fallback (mirrorsstress.yml).build_dbgextrunner →windows-latestwindows-latestAlso fixes the latent
stress.ymlartifact-name bug where the spinquic test job hardcoded windows-2022 (would have prevented 2025 jobs from picking up the right binaries).Intentionally NOT changed
windows-2022 || matrix.vec.osfallback pattern instress.ymlandtest.ymlfor self-hostedWinServerPrereleaserunners — WinServerPrerelease has no matching kernel/usermode build of its own, so it intentionally consumes 2022 artifacts.Fixes #5242.