ReviewOS

also looking at this

zig-utils/zig-test-framework

ci: define and enforce the Zig toolchain policy

#16
Merged glennmichael123 wants to merge codex/issue-8-zig-toolchain-policy into main
9 files +97 -25
TOOLCHAIN.mdadded+23-0
Changes to TOOLCHAIN.md
@@ -0,0 +1,23 @@
1# Zig toolchain policy
2
3The Zig Test Framework supports the exact Zig development build recorded in
4`.zig-version`. Required CI jobs use that version so pull requests are tested
5against a reproducible toolchain.
6
7Because the project follows Zig development builds, CI also runs a scheduled
8compatibility check against the latest `0.17.0-dev` build. That check is
9informational: an upstream API change should produce an intentional toolchain
10update rather than unexpectedly blocking unrelated pull requests.
11
12## Updating Zig
13
141. Replace the version in `.zig-version` with the full output of `zig version`.
152. Run `zig fmt --check .`.
163. Run `zig build`, `zig build test`, and `zig build examples`.
174. Run `zig build-lib -femit-docs src/lib.zig` and remove the generated local
18 artifacts after verifying the command succeeds.
195. Summarize required compatibility changes in the pull request and, for a
20 release, in the changelog.
21
22The compatibility job can also be run manually from GitHub Actions before
23updating the pinned version.