Skip to content

ci: build and run Windows tests on Windows - #805

Closed
wan9chi wants to merge 3 commits into
claude/macos-x64-ci-duration-559c9afrom
claude/windows-native-ci
Closed

wan9chi wants to merge 3 commits into
claude/macos-x64-ci-duration-559c9afrom
claude/windows-native-ci

Conversation

@wan9chi

@wan9chi wan9chi commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Motivation

Windows was the only platform with its own test pipeline. A Linux job cross-compiled the tests with cargo-xwin, which needed a clang/MSVC STL version workaround and a cached MSVC CRT/Windows SDK. It packed them into a nextest archive and uploaded it as an artifact, and three Windows jobs then downloaded and ran it. This adds Windows to the test matrix instead, so it builds and runs with the same steps as Linux and macOS.

🤖 Generated with Claude Code


Stack created with GitHub Stacks CLI • Give Feedback 💬

Windows was the only platform whose tests were cross-compiled on Linux
with cargo-xwin, packed into a nextest archive, and run on Windows from
the downloaded artifact. Drop that pipeline and add Windows to the
`test` matrix so it builds and runs with the same steps as the other
platforms.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wan9chi
wan9chi added this pull request to stack #806 October 5, 2026 01:45
@github-actions

github-actions Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

fspy benchmark

linux

dynamic/launch             change  +0.25%  [ -5.34% ..  +5.12%]  overhead  +299.10%
dynamic/access             change  +0.15%  [ -1.64% ..  +1.79%]  overhead   +13.64%
dynamic/access-relative    change  +0.22%  [ -1.10% ..  +2.13%]  overhead   +60.41%
dynamic/access-contended   change  +1.50%  [ -0.80% ..  +4.59%]  overhead   +16.67%
static/launch              change  -0.20%  [ -4.64% ..  +4.92%]  overhead  +765.12%
static/access              change  -0.08%  [ -1.47% ..  +1.05%]  overhead  +803.51%
static/access-relative     change  -0.02%  [ -2.07% ..  +1.14%]  overhead +1368.26%
static/access-contended    change  +0.09%  [ -0.46% ..  +0.75%]  overhead +3158.39%

macos

dynamic/launch             change  -0.27%  [ -5.55% ..  +5.04%]  overhead  +241.25%
dynamic/access             change  +0.35%  [ -9.27% .. +14.69%]  overhead    +4.84%
dynamic/access-relative    change  +1.11%  [ -6.04% .. +109.82%]  overhead  +246.99%
dynamic/access-contended   change  -0.79%  [ -9.90% ..  +8.10%]  overhead    +4.22%

windows

dynamic/launch             change  +0.58%  [ -5.63% ..  +7.36%]  overhead   +25.04%
dynamic/access             change  -0.53%  [ -9.09% ..  +1.92%]  overhead    +1.27%
dynamic/access-relative    change  +0.11%  [ -4.05% .. +26.28%]  overhead    +1.07%
dynamic/access-contended   change  -0.11%  [ -3.46% ..  +5.39%]  overhead    +2.49%

wan9chi and others added 2 commits October 5, 2026 09:51
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…warm builds"

This reverts commit 05a75c2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wan9chi

wan9chi commented Oct 5, 2026

Copy link
Copy Markdown
Member Author

Closing: building and running the tests natively on Windows made PR CI slower.

Wall time, measured until the last job other than macOS x64 and musl finishes:

Runs Wall time
Linux build → Windows run (current) 8 145–202s, median ~163s
Native Windows, warm cache 2 177s, 194s
Native Windows, cold cache 2 271s, 199s

The single Windows job takes 153–160s even with a warm cache: 85–93s of build on the 4-core runner plus ~27s of Node setup. That makes it the slowest job in every run, while the rest finish by ~120s. The Linux cross-build keeps compilation off the Windows runner, so it stays.

@wan9chi wan9chi closed this Oct 5, 2026
An error occurred while trying to automatically change base from claude/macos-x64-ci-duration-559c9a to main October 5, 2026 02:07
@wan9chi
wan9chi deleted the claude/windows-native-ci branch October 5, 2026 02:07
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