Summary
.github/workflows/ci.yml currently runs the test job on ubuntu-latest and macos-latest only. Since v0.2.1 we ship Windows binaries (#78) and scripts/install.ps1, but Windows-specific behavior is never exercised in CI — the test suite, smoke tests, and any path-handling code (filepath separators, drive letters, registry/install paths) only get covered when a contributor manually runs them.
Why
Recent local verification of #81 on Windows surfaced no issues, but the gap means a regression on Windows would only be caught post-release. With Windows officially supported, CI should match.
Suggested change
Add windows-latest to the matrix in .github/workflows/ci.yml:
jobs:
test:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
Two likely follow-ups once enabled:
scripts/smoke_test.sh is a bash script — works on Windows runners via Git Bash but needs the binary path resolved as ./skern.exe or ./skern depending on how make build named it. Verify before enabling.
make build currently outputs skern regardless of OS. On Windows runners Go produces skern.exe; the Makefile rule may need a conditional or the smoke test needs to accept either name.
Acceptance criteria
Summary
.github/workflows/ci.ymlcurrently runs the test job onubuntu-latestandmacos-latestonly. Since v0.2.1 we ship Windows binaries (#78) andscripts/install.ps1, but Windows-specific behavior is never exercised in CI — the test suite, smoke tests, and any path-handling code (filepath separators, drive letters, registry/install paths) only get covered when a contributor manually runs them.Why
Recent local verification of #81 on Windows surfaced no issues, but the gap means a regression on Windows would only be caught post-release. With Windows officially supported, CI should match.
Suggested change
Add
windows-latestto the matrix in.github/workflows/ci.yml:Two likely follow-ups once enabled:
scripts/smoke_test.shis a bash script — works on Windows runners via Git Bash but needs the binary path resolved as./skern.exeor./skerndepending on howmake buildnamed it. Verify before enabling.make buildcurrently outputsskernregardless of OS. On Windows runners Go producesskern.exe; the Makefile rule may need a conditional or the smoke test needs to accept either name.Acceptance criteria
testonwindows-latestin addition to ubuntu and macos.go test ./...passes on Windows.scripts/smoke_test.shpasses on Windows (or has a documented Windows-equivalent).make buildproduces a runnable binary on Windows, named consistently with the smoke test's expectation.