Skip to content

ci: Use windows-2025 runner for Windows CI build - #1806

Open
muboheng wants to merge 1 commit into
mainfrom
ci-windows-server-2025
Open

ci: Use windows-2025 runner for Windows CI build#1806
muboheng wants to merge 1 commit into
mainfrom
ci-windows-server-2025

Conversation

@muboheng

Copy link
Copy Markdown
Member

What

Pin the Windows leg of the Java CI matrix (.github/workflows/maven.yml) to windows-2025 instead of windows-latest.

-        os: [ubuntu-latest, windows-latest]
+        os: [ubuntu-latest, windows-2025]

Why

  • Deterministic runner OS. GitHub is migrating windows-latest from Server 2022 to Server 2025; pinning explicitly avoids the runner shifting underneath the build mid-migration.
  • Validate on the OS customers run. Windows Server 2025 is now GA and is what we want CI coverage against.

WMIC.exe note (safety check)

Windows Server 2025 removed WMIC.exe by default, which can break Java tooling that shells out to it (e.g. zt-process-killer's WindowsProcess.isAlive()). Nucleus was checked and is not affected:

  • Windows process management (WindowsPlatform, WindowsExec) uses taskkill and java.lang.Process APIs.
  • It calls zt-process-killer's destroy() (which uses taskkill), never isAlive() (the WMIC path).
  • No source references wmic/Wbem; tests use JVM-native PidUtil/pgrep.

So the WMIC code path is dead code in nucleus's usage, and the mvn verify Windows build is expected to pass on windows-2025.

Pin the Windows leg of the Java CI matrix to windows-2025 instead of
windows-latest. Makes the runner OS deterministic as GitHub migrates
windows-latest to Server 2025, and validates the build on the OS
customers now run.

Server 2025 removed WMIC.exe by default, but nucleus is unaffected:
its Windows process management uses taskkill and java.lang.Process
APIs, and it never invokes zt-process-killer's WMIC-based isAlive().
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.

1 participant