Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: false

steps:
Expand All @@ -24,13 +24,22 @@ jobs:

- name: Read supported Zig version
id: zig-version
shell: bash
run: echo "version=$(cat .zig-version)" >> "$GITHUB_OUTPUT"

- name: Setup Zig
if: runner.os != 'Windows'
uses: pantry-pm/pantry/packages/action@main
with:
packages: zig@${{ steps.zig-version.outputs.version }}

- name: Setup Zig on Windows
if: runner.os == 'Windows'
uses: mlugg/setup-zig@v2
with:
version: ${{ steps.zig-version.outputs.version }}
mirror: https://zig.mirror.mschae23.de/zig

- name: Verify Zig installation
run: zig version

Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -857,6 +857,12 @@ generated files, interactive output, or failure handling.
## Requirements

- The exact Zig development build recorded in [`.zig-version`](.zig-version)
- Linux, macOS, or Windows. All three platforms are required CI targets.

On Windows, discovery accepts native `\\` paths as well as `/` paths and
launches `zig test` through Zig's portable process API. Ctrl-C and console-close
events use Windows' native termination behavior; POSIX hosts install cooperative
SIGINT/SIGTERM handlers for long-running watch and UI modes.

See [TOOLCHAIN.md](TOOLCHAIN.md) for the compatibility policy and upgrade
process.
Expand Down
5 changes: 4 additions & 1 deletion TOOLCHAIN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

The Zig Test Framework supports the exact Zig development build recorded in
`.zig-version`. Required CI jobs use that version so pull requests are tested
against a reproducible toolchain.
against a reproducible toolchain on `ubuntu-latest`, `macos-latest`, and
`windows-latest`. Windows support follows the Windows version represented by
GitHub's current `windows-latest` hosted runner; the exact Zig build remains the
version pinned in `.zig-version`.

Because the project follows Zig development builds, CI also runs a scheduled
compatibility check against the latest `0.17.0-dev` build. That check is
Expand Down
Loading
Loading