fix: make sure gen_version is never allowed to fail for release builds

This commit is contained in:
CJ van den Berg 2026-02-14 17:18:11 +01:00
parent 6f9132c3b2
commit af7c97acb9
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9

View file

@ -20,7 +20,9 @@ pub fn build(b: *std.Build) void {
var version: std.ArrayList(u8) = .empty;
defer version.deinit(b.allocator);
gen_version(b, version.writer(b.allocator)) catch {
gen_version(b, version.writer(b.allocator)) catch |e| {
if (b.release_mode != .off)
std.debug.panic("gen_version failed: {any}", .{e});
version.clearAndFree(b.allocator);
version.appendSlice(b.allocator, "unknown") catch {};
};
@ -272,7 +274,9 @@ pub fn build_exe(
var version_info: std.ArrayList(u8) = .empty;
defer version_info.deinit(b.allocator);
gen_version_info(b, target, version_info.writer(b.allocator), optimize) catch {
gen_version_info(b, target, version_info.writer(b.allocator), optimize) catch |e| {
if (b.release_mode != .off)
std.debug.panic("gen_version failed: {any}", .{e});
version_info.clearAndFree(b.allocator);
version_info.appendSlice(b.allocator, "unknown") catch {};
};