Skip to content

ci: pin Windows jobs to the windows-2022 runner - #2

Merged
hoshimoe merged 2 commits into
mainfrom
claude/fix-windows-ci-vs2022
Jul 30, 2026
Merged

ci: pin Windows jobs to the windows-2022 runner#2
hoshimoe merged 2 commits into
mainfrom
claude/fix-windows-ci-vs2022

Conversation

@hoshimoe

Copy link
Copy Markdown
Owner

Summary

The Windows CI jobs (Windows MSVC Module Debug/Release) fail at the CMake configure step:

CMake Error at CMakeLists.txt:2 (project):
  Generator
    Visual Studio 17 2022
  could not find any instance of Visual Studio.

Nothing in this repository changed. The runner image moved underneath us: windows-latest no longer ships Visual Studio 2022. The job logs show

VSINSTALLDIR:        C:\Program Files\Microsoft Visual Studio\18\Enterprise\
VisualStudioVersion: 18.0

so the -G "Visual Studio 17 2022" generator no longer resolves. (Confirmed against NekoNetwork, where the identical workflow is byte-identical to its last all-green commit and now fails the same way.)

Change

Pin the Windows matrix entries to windows-2022, which still provides the toolchain the generator asks for. Same compiler, same matrix, no toolchain change:

   - {
       name: "Windows MSVC Module Debug",
-      os: windows-latest,
+      os: windows-2022,

Scope

Only ci.yml hardcodes a generator. vcpkg.yml and conan.yml let CMake pick one and their Windows jobs still pass on windows-latest, so they are left untouched.

The same breakage affects all seven Neko repos; a matching PR is open on each.

Follow-up

This pins to an image GitHub will eventually retire. Adopting Visual Studio 18 on windows-latest is the durable fix, but it builds against a toolchain these projects have not been tested with — the C++20 module jobs here in particular — so it belongs in its own change.

Note

Intentionally separate from #1, which addresses the vcpkg maintainer's upstream feedback. The two are unrelated.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WMgcdYggBJ6aMCuNXYbRZT


Generated by Claude Code

claude added 2 commits July 30, 2026 22:21
The windows-latest image no longer ships Visual Studio 2022; it now
provides Visual Studio 18 (VSINSTALLDIR .../Visual Studio/18/Enterprise,
VisualStudioVersion 18.0). Every Windows job in this workflow configures
CMake with -G "Visual Studio 17 2022", so they all fail at configure time:

  CMake Error at CMakeLists.txt:2 (project):
    Generator
      Visual Studio 17 2022
    could not find any instance of Visual Studio.

Nothing in the repository changed -- this workflow is byte-identical to
the last commit whose CI was fully green -- so pin the Windows matrix
entries to windows-2022, which still provides the toolchain the generator
asks for. This restores exactly the configuration that was last green.

Only ci.yml hardcodes the generator; vcpkg.yml and conan.yml let CMake
pick one and their Windows jobs still pass on windows-latest, so they are
left alone.

Follow-up: adopt Visual Studio 18 on windows-latest so this does not need
revisiting when windows-2022 is retired. That is a separate change since
it builds against a toolchain these projects have not been tested with.
openssl/4.0.1 reached conancenter, and the unbounded openssl/[>=3.0]
range started resolving to it. minizip-ng/4.2.1 requires
openssl/[>=1.1 <4], so the graph no longer resolves:

  ERROR: Version conflict: Conflict between openssl/[>=1.1 <4] and
  openssl/4.0.1 in the graph.
  Conflict originates from minizip-ng/4.2.1

Cap the range at <4 so it agrees with minizip-ng and keeps resolving to
OpenSSL 3.x, which is what this package is built and tested against.

Same class of breakage as the Windows runner change in this PR: an
unpinned upstream moved, not a change in this repository.
@hoshimoe
hoshimoe merged commit fe73b34 into main Jul 30, 2026
21 checks passed
@hoshimoe
hoshimoe deleted the claude/fix-windows-ci-vs2022 branch July 30, 2026 23:04
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.

2 participants