Skip to content

Add Windows to CI matrix #85

@devrimcavusoglu

Description

@devrimcavusoglu

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:

  1. 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.
  2. 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

  • CI workflow runs test on windows-latest in addition to ubuntu and macos.
  • go test ./... passes on Windows.
  • scripts/smoke_test.sh passes on Windows (or has a documented Windows-equivalent).
  • make build produces a runnable binary on Windows, named consistently with the smoke test's expectation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions