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
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Set up Zig
uses: mlugg/setup-zig@v2
with:
version: 0.15.2
version: 0.16.0

- name: Build and test
run: zig build test -Doptimize=ReleaseSafe
Expand Down Expand Up @@ -69,7 +69,7 @@ jobs:
- name: Set up Zig
uses: mlugg/setup-zig@v2
with:
version: 0.15.2
version: 0.16.0

- name: Build
run: zig build -Doptimize=ReleaseSafe -Dtarget=${{ matrix.zig-target }} ${{ matrix.zig-cpu && format('-Dcpu={0}', matrix.zig-cpu) || '' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
- name: Set up Zig
uses: mlugg/setup-zig@v2
with:
version: 0.15.2
version: 0.16.0

- name: Build
run: zig build -Doptimize=ReleaseSafe -Dversion=${{ github.ref_name }} -Dtarget=${{ matrix.zig-target }} ${{ matrix.zig-cpu && format('-Dcpu={0}', matrix.zig-cpu) || '' }}
Expand Down
2 changes: 2 additions & 0 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[tools]
zig = "0.16.0"
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Stack

- Language: Zig 0.15.2
- Language: Zig 0.16.0
- C interop: tree-sitter (vendor/tree-sitter + vendor/zig-tree-sitter, parsed on demand)
- Grammars: lazy zig build deps (not vendored)
- CLI: zig-clap 0.11.0
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,10 +158,10 @@ For faster CI runs, use `--changed` to scope checking to docs affected by the fi

## Development

Requires Zig 0.15.2. The repo includes a `.tool-versions` file for [mise](https://mise.jdx.dev/) (or asdf). If you haven't already, [activate mise](https://mise.jdx.dev/getting-started.html#activate-mise) in your shell, then:
Requires Zig 0.16.0. The repo includes a `.mise.toml` file for [mise](https://mise.jdx.dev/). If you haven't already, [activate mise](https://mise.jdx.dev/getting-started.html#activate-mise) in your shell, then:

```bash
mise install # installs zig 0.15.2
mise install # installs zig 0.16.0
zig build test # run tests
zig build -Doptimize=ReleaseSafe # build release binary
```
Expand Down
8 changes: 4 additions & 4 deletions build.zig.zon
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
.name = .drift,
.version = "0.1.0",
.fingerprint = 0x486fc72c7a030a48,
.minimum_zig_version = "0.15.0",
.minimum_zig_version = "0.16.0",
.paths = .{
"build.zig",
"build.zig.zon",
Expand All @@ -13,10 +13,10 @@
"vendor",
},
.dependencies = .{
// CLI argument parsing (0.11.0, compatible with zig 0.15+)
// CLI argument parsing (master @ fc1e5cc, first commit with zig 0.16 support).
.clap = .{
.url = "git+https://github.com/Hejsil/zig-clap#5289e0753cd274d65344bef1c114284c633536ea",
.hash = "clap-0.11.0-oBajB-HnAQDPCKYzwF7rO3qDFwRcD39Q0DALlTSz5H7e",
.url = "git+https://github.com/Hejsil/zig-clap#fc1e5cc3f6d9d3001112385ee6256d694e959d2f",
.hash = "clap-0.11.0-oBajB7foAQC3Iyn4IVCkUdYaOVVng5IZkSncySTjNig1",
},

// Grammars — lazy loaded, compiled only when needed
Expand Down
4 changes: 2 additions & 2 deletions docs/RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Source of truth: `.github/workflows/release.yml`, `.github/workflows/ci.yml`, `c

Every push to `main` and every pull request runs the CI workflow (`.github/workflows/ci.yml`).

The **lint** job: install Zig 0.15.2, build the project, run the full test suite (`zig build test -Doptimize=ReleaseSafe`), regenerate `docs/schemas/drift.check.v1.json` from the payload types and fail if that file differs from what is committed (`zig build gen-check-schema` plus `git diff --exit-code`), then run `./zig-out/bin/drift lint` so the repo’s own drift docs stay current. If any step fails, the job fails.
The **lint** job: install Zig 0.16.0, build the project, run the full test suite (`zig build test -Doptimize=ReleaseSafe`), regenerate `docs/schemas/drift.check.v1.json` from the payload types and fail if that file differs from what is committed (`zig build gen-check-schema` plus `git diff --exit-code`), then run `./zig-out/bin/drift lint` so the repo’s own drift docs stay current. If any step fails, the job fails.

The **build** job runs after **lint** and cross-compiles release binaries for all four targets (aarch64-macos, x86_64-macos, x86_64-linux, aarch64-linux), packaging each as a tarball artifact.

Expand Down Expand Up @@ -38,7 +38,7 @@ Types `chore`, `style`, and `ci` are excluded from changelogs. Merge commits are
```
3. The tag push triggers `.github/workflows/release.yml`, which first verifies the tag points to a commit on `main` (tags on feature branches are rejected), then:
- Generates release notes with git-cliff (grouped by Features, Bug Fixes, Documentation, Refactor)
- Cross-compiles for all 4 targets with Zig 0.15.2
- Cross-compiles for all 4 targets with Zig 0.16.0
- Creates a GitHub release with the generated notes, all tarballs, and matching `.sha256` checksum files attached
- Optionally dispatches `fiberplane/homebrew-tap` to open or refresh the Homebrew formula PR for that tag

Expand Down
32 changes: 16 additions & 16 deletions drift.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
.claude/skills/drift/SKILL.md -> src/main.zig sig:647a31274655a84d origin:github:fiberplane/drift
.claude/skills/drift/SKILL.md -> src/vcs.zig sig:2468937f00d5305a origin:github:fiberplane/drift
.claude/skills/drift/SKILL.md -> src/main.zig sig:f2735440986d2477 origin:github:fiberplane/drift
.claude/skills/drift/SKILL.md -> src/vcs.zig sig:84da70be235ca9d4 origin:github:fiberplane/drift
CLAUDE.md -> build.zig sig:7194b38f39dbadba
CLAUDE.md -> src/main.zig sig:647a31274655a84d
docs/CLI.md -> src/commands/link.zig sig:70e52c01fb9022a8
docs/CLI.md -> src/commands/lint.zig sig:0073bbe22ef7c5fa
docs/CLI.md -> src/commands/refs.zig sig:e3309a0d11c02bb0
docs/CLI.md -> src/commands/status.zig sig:ab9cee37b4b22644
docs/CLI.md -> src/commands/unlink.zig sig:6fc59e2a25f80fac
docs/DESIGN.md -> src/context.zig sig:70678dcc0872470d
docs/DESIGN.md -> src/lockfile.zig sig:23bc7256cff13942
docs/DESIGN.md -> src/main.zig sig:647a31274655a84d
docs/DESIGN.md -> src/symbols.zig sig:8e4a403c6f0130c3
docs/DESIGN.md -> src/vcs.zig sig:2468937f00d5305a
docs/RELEASING.md -> .github/workflows/ci.yml sig:e8440b1d7ee3e4ba
docs/RELEASING.md -> .github/workflows/release.yml sig:f74d66b6bd7f959c
CLAUDE.md -> src/main.zig sig:f2735440986d2477
docs/CLI.md -> src/commands/link.zig sig:7bd7f824afc30e0b
docs/CLI.md -> src/commands/lint.zig sig:1fd2cb4096c65c64
docs/CLI.md -> src/commands/refs.zig sig:f623b7774086094e
docs/CLI.md -> src/commands/status.zig sig:eade166d24a20b81
docs/CLI.md -> src/commands/unlink.zig sig:0dbe1ee3315211b5
docs/DESIGN.md -> src/context.zig sig:82d9da38ea486f36
docs/DESIGN.md -> src/lockfile.zig sig:0e4b79237b6e4c8b
docs/DESIGN.md -> src/main.zig sig:f2735440986d2477
docs/DESIGN.md -> src/symbols.zig sig:bbe250d43609daa1
docs/DESIGN.md -> src/vcs.zig sig:84da70be235ca9d4
docs/RELEASING.md -> .github/workflows/ci.yml sig:c14a23e6547d575f
docs/RELEASING.md -> .github/workflows/release.yml sig:19b334776bec1eda
docs/RELEASING.md -> cliff.toml sig:d2a8e301fe4b788e
docs/check-json-schema.md -> docs/schemas/drift.check.v1.json sig:4e6d23b9945aebb1
docs/check-json-schema.md -> src/payload/drift_check_v1.zig sig:d446ad53565b6916
docs/check-json-schema.md -> src/payload/drift_check_v1.zig sig:c80e398e38ece09d
Loading
Loading