From 96e5054ffce6b89c9b1e02546f2cab682b332302 Mon Sep 17 00:00:00 2001 From: JasonOA888 <101583541+JasonOA888@users.noreply.github.com> Date: Tue, 17 Mar 2026 07:41:11 +0800 Subject: [PATCH] feat: add git_version build option for release version detection - Add git_version option to build.zig (similar to git_commit) - Update version command to output git_version when available - Falls back to git_commit when not on a tagged release - CI can pass -Dgit_version=$(git describe --tags --exact-match) for releases Fixes #1867 --- build.zig | 2 ++ src/main.zig | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/build.zig b/build.zig index 1f9ae5ef..33168b86 100644 --- a/build.zig +++ b/build.zig @@ -27,12 +27,14 @@ pub fn build(b: *Build) !void { const manifest = Manifest.init(b); const git_commit = b.option([]const u8, "git_commit", "Current git commit"); + const git_version = b.option([]const u8, "git_version", "Current git version (from tag)"); const prebuilt_v8_path = b.option([]const u8, "prebuilt_v8_path", "Path to prebuilt libc_v8.a"); const snapshot_path = b.option([]const u8, "snapshot_path", "Path to v8 snapshot"); var opts = b.addOptions(); opts.addOption([]const u8, "version", manifest.version); opts.addOption([]const u8, "git_commit", git_commit orelse "dev"); + opts.addOption([]const u8, "git_version", git_version orelse "dev"); opts.addOption(?[]const u8, "snapshot_path", snapshot_path); const enable_tsan = b.option(bool, "tsan", "Enable Thread Sanitizer") orelse false; diff --git a/src/main.zig b/src/main.zig index 26e29b22..948347b8 100644 --- a/src/main.zig +++ b/src/main.zig @@ -59,7 +59,11 @@ fn run(allocator: Allocator, main_arena: Allocator) !void { return std.process.cleanExit(); }, .version => { - std.debug.print("{s}\n", .{lp.build_config.git_commit}); + const version = if (std.mem.eql(u8, lp.build_config.git_version, "dev")) + lp.build_config.git_commit + else + lp.build_config.git_version; + std.debug.print("{s}\n", .{version}); return std.process.cleanExit(); }, else => {},