Repository navigation
Run tests on macOS and Windows and fix the Windows failures - #142
Merged
Merged
Conversation
The build job ran on Ubuntu only, so the MSVC code and the Windows import library handling for depends had no CI coverage. Add one macOS and one Windows job on Python 3.11, set up the MSVC environment, and keep lint, checks, and the test result comment on Linux. Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Contributor
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #142 +/- ##
==========================================
+ Coverage 96.31% 97.71% +1.40%
==========================================
Files 16 16
Lines 1574 1578 +4
==========================================
+ Hits 1516 1542 +26
+ Misses 58 36 -22 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The CMake toolchain passed -G "Visual Studio 17 2022" on Windows unless CMAKE_GENERATOR was set. The windows-2025 runner image has Visual Studio 2026 only, so configure failed with "could not find any instance of Visual Studio". Pass -G only when CMAKE_GENERATOR is set and use CMake's default otherwise, which is the newest installed Visual Studio. Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
A vcpkg root in a subdirectory was compared with its .gitmodules path using backslashes on Windows, so the configured branch was ignored. POSIX vcpkg commands and Emscripten object paths were also built with backslashes when the host was Windows. The vcpkg tests that assert POSIX commands pin a Linux host, the gcc toolchain fixture is skipped on Windows, and the build matrix no longer cancels the other jobs when one fails. Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
timkpaine
marked this pull request as ready for review
November 13, 2026 23:38
4 of 11 tasks
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.
Description
The build job ran on Ubuntu only, so the MSVC code and the Windows import library handling for
dependshad no CI coverage. This adds one macOS job and one Windows job on Python 3.11 and sets up the MSVC environment withactions-ext/cpp/setup. Lint, checks, and the test result comment stay on Linux, and one failing job no longer cancels the others.The first Windows run passed the
dependstest and failed 13 others. Three of the causes were bugs in hatch-cpp:-G "Visual Studio 17 2022"on Windows unlessCMAKE_GENERATORwas set. Thewindows-2025runner image has Visual Studio 2026 only, so configure failed. hatch-cpp now passes-Gonly whenCMAKE_GENERATORis set, and CMake picks the newest installed Visual Studio otherwise..gitmodulespath using backslashes, so the configured branch was ignored on Windows.The other failures were tests that assumed a POSIX host. The vcpkg tests that assert POSIX commands now pin a Linux host, and the fixture that selects the gcc toolchain is skipped on Windows because clang rejects
-fPICfor MSVC targets.Results: 110 passed on macOS, 108 passed and 2 skipped on Windows.
Type of Change
Checklist
make lint)make test)