Add a Windows leg to the Health Check matrix - #473
Open
npapagna wants to merge 1 commit into
Open
Conversation
npapagna
force-pushed
the
npapagna/windows-health-check
branch
from
August 21, 2026 11:50
9a5ecbc to
21fbf76
Compare
npapagna
marked this pull request as ready for review
August 21, 2026 12:18
MatiasFernandez
approved these changes
Aug 21, 2026
npapagna
force-pushed
the
npapagna/windows-health-check
branch
from
August 21, 2026 20:30
e887eaa to
14ba975
Compare
Until now health-check.yml only ran the GemStone integration suite on Linux, so a regression that only showed up under Windows/WSL or the native Windows GCI client shipped invisibly. windows-latest has no GemStone server build at all, so the new leg installs and starts the server inside a WSL guest and points the native Windows test run at it remotely, over a NRS the WSL guest's own name/localhost resolution can't reach from outside. Setup for that leg lives in a new composite action, setup-gemstone-in-windows, which provisions WSL, downloads the native Windows GCI client (gs-download-windows-gci-client.ps1), and installs and starts GemStone inside the guest (gs-test-setup-wsl.sh). The server archive download is cached under one shared, Linux-tagged key across both platforms, since the Windows leg's server install also runs as Linux under WSL; a future macOS leg would need its own key, since gs-config.sh resolves a different archive there. gs-create-test-env-file.sh gains --remote (write a stone/gem NRS reachable from outside the machine, via the new gs-info.py) and --gci-library-path/--global-dir (override the native paths it would otherwise compute), so the same script still produces the right .env.test whether the test runner is local or crossing into WSL from native Windows. gs-test-setup.sh forwards any extra arguments through to it unchanged. The job's timeout-minutes is scoped per platform (5 for Linux, 10 for the new Windows leg's added WSL/GCI-download overhead) instead of raised for everyone, so a Linux-side regression that doubles runtime still trips the guard. Also bumps two rowanLoad tests' timeouts (10s/20s) to absorb the slower git/filesystem operations WSL adds on the new leg.
npapagna
force-pushed
the
npapagna/windows-health-check
branch
from
August 21, 2026 20:40
14ba975 to
be4e141
Compare
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.
Summary
windows-latestleg to thehealth-checkjob matrix, alongside the existingubuntu-latestone, so the GemStone integration suite also runs against the native Windows GCI client.setup-gemstone-in-windows), installs and starts the server inside the guest, downloads the native Windows GCI client, and points the native Windows test run at the WSL-hosted server remotely.gs-create-test-env-file.shgains--remote,--gci-library-path, and--global-dirso the same script can write a.env.testthat's reachable across that WSL/native-Windows boundary;gs-test-setup.shjust forwards extra args through to it.gemstone-server-download-linux-<version>(norunner.os), since the Windows leg's server install also runs as Linux under WSL and can share the same cached archive; a future macOS leg would need its own key, sincegs-config.shresolves a different archive there.timeout-minutesis scoped per platform (5 for Linux, 10 for the Windows leg's added WSL/GCI-download overhead) instead of raised for everyone, so a Linux-side regression that doubles runtime still trips the guard.Test plan
npm run lint && npm run format:check && npm run compile && npm testlocallyubuntu-latestandwindows-latestlegs across the GemStone version matrix.env.testconnection succeed end-to-end in CI🤖 Generated with Claude Code