build: automate version resolution in build.zig

Removes manual git flags from CI and build scripts.
Versioning is now automatically derived from git and build.zig.zon.

With this PR, we follow https://semver.org/
Logic:

1. Read the version from build.zig.zon
2. If it doesn't have a `.pre` field (i.e. dev/alpha/beta) it will use that
3. Otherwise it will get the info from git: hash and number of commits since last `.0` version
4. Then build the version: `0.3.0-dev.1493+0896edc3`

Note that, since the latest stable version is `0.2.6`.
The convention is to use `0.3.0-dev`, as:
- `0.2.6` < `0.3.0.dev` < `0.3.0`
This commit is contained in:
Adrià Arrufat
2026-03-19 12:55:10 +09:00
parent edd0c5c83f
commit 2dbd32d120
11 changed files with 93 additions and 51 deletions

View File

@@ -53,8 +53,7 @@ RUN zig build -Doptimize=ReleaseFast \
# build release
RUN zig build -Doptimize=ReleaseFast \
-Dsnapshot_path=../../snapshot.bin \
-Dprebuilt_v8_path=v8/libc_v8.a \
-Dgit_commit=$(git rev-parse --short HEAD)
-Dprebuilt_v8_path=v8/libc_v8.a
FROM debian:stable-slim