diff options
author | 2022-08-03 18:27:08 -0700 | |
---|---|---|
committer | 2022-08-03 18:35:53 -0700 | |
commit | e253ce0948005978bdc173d3398628dc72a4730e (patch) | |
tree | 8b770b48390089148d9e2baf4bd66c021e283086 /src | |
parent | 58feb81c36d310b081cfae6f480f9d57585c6f64 (diff) | |
download | bun-e253ce0948005978bdc173d3398628dc72a4730e.tar.gz bun-e253ce0948005978bdc173d3398628dc72a4730e.tar.zst bun-e253ce0948005978bdc173d3398628dc72a4730e.zip |
Add `process.revision` and expose git sha to builds
Diffstat (limited to 'src')
-rw-r--r-- | src/__global.zig | 8 | ||||
-rw-r--r-- | src/bun.js/bindings/Process.cpp | 3 | ||||
-rw-r--r-- | src/bun.js/bindings/headers-handwritten.h | 2 | ||||
-rw-r--r-- | src/bun.js/node/types.zig | 1 | ||||
-rw-r--r-- | src/env.zig | 2 | ||||
-rw-r--r-- | src/http.zig | 8 | ||||
-rw-r--r-- | src/report.zig | 6 |
7 files changed, 23 insertions, 7 deletions
diff --git a/src/__global.zig b/src/__global.zig index bbdbcf63c..bcb5973df 100644 --- a/src/__global.zig +++ b/src/__global.zig @@ -10,6 +10,14 @@ pub const package_json_version = if (Environment.isDebug) std.fmt.comptimePrint("0.1.{d}_debug", .{build_id}) else std.fmt.comptimePrint("0.1.{d}", .{build_id}); + +pub const package_json_version_with_sha = if (Environment.git_sha.len == 0) + package_json_version +else if (Environment.isDebug) + std.fmt.comptimePrint("0.1.{d}_debug ({s})", .{ build_id, Environment.git_sha[0..8] }) +else + std.fmt.comptimePrint("0.1.{d} ({s})", .{ build_id, Environment.git_sha[0..8] }); + pub const os_name = if (Environment.isWindows) "win32" else if (Environment.isMac) diff --git a/src/bun.js/bindings/Process.cpp b/src/bun.js/bindings/Process.cpp index e9e165736..00e5d6f81 100644 --- a/src/bun.js/bindings/Process.cpp +++ b/src/bun.js/bindings/Process.cpp @@ -271,6 +271,9 @@ void Process::finishCreation(JSC::VM& vm) JSC::CustomGetterSetter::create(vm, Process_getArgv, Process_setArgv), static_cast<unsigned>(JSC::PropertyAttribute::CustomValue)); + putDirect(vm, JSC::Identifier::fromString(vm, "revision"_s), + JSC::jsString(vm, makeAtomString(Bun__version_sha)), 0); + this->putDirect(vm, clientData->builtinNames().nextTickPublicName(), JSC::JSFunction::create(vm, JSC::jsCast<JSC::JSGlobalObject*>(globalObject()), 1, MAKE_STATIC_STRING_IMPL("nextTick"), Process_functionNextTick), diff --git a/src/bun.js/bindings/headers-handwritten.h b/src/bun.js/bindings/headers-handwritten.h index 358b58505..b0b6dd738 100644 --- a/src/bun.js/bindings/headers-handwritten.h +++ b/src/bun.js/bindings/headers-handwritten.h @@ -189,6 +189,8 @@ extern "C" const char* Bun__versions_libarchive; extern "C" const char* Bun__versions_picohttpparser; extern "C" const char* Bun__versions_boringssl; extern "C" const char* Bun__versions_zlib; +extern "C" const char* Bun__version_sha; + extern "C" const char* Bun__versions_zig; extern "C" void ZigString__free_global(const unsigned char* ptr, size_t len); diff --git a/src/bun.js/node/types.zig b/src/bun.js/node/types.zig index 18d437d76..c458f37c5 100644 --- a/src/bun.js/node/types.zig +++ b/src/bun.js/node/types.zig @@ -1790,6 +1790,7 @@ pub const Process = struct { pub export const Bun__versions_boringssl: [:0]const u8 = bun.Global.versions.boringssl; pub export const Bun__versions_zlib: [:0]const u8 = bun.Global.versions.zlib; pub export const Bun__versions_zig: [:0]const u8 = bun.Global.versions.zig; + pub export const Bun__version_sha: [:0]const u8 = bun.Environment.git_sha; }; comptime { diff --git a/src/env.zig b/src/env.zig index aa0a6de86..2e2ce38ea 100644 --- a/src/env.zig +++ b/src/env.zig @@ -26,3 +26,5 @@ pub const isX64 = @import("builtin").target.cpu.arch == .x86_64; pub const allow_assert = isDebug or isTest; pub const analytics_url = if (isDebug) "http://localhost:4000/events" else "http://i.bun.sh/events"; pub const baseline = @import("build_options").baseline; +pub const git_sha = @import("build_options").sha; +pub const is_canary = @import("build_options").is_canary; diff --git a/src/http.zig b/src/http.zig index 605bd1840..00aa03124 100644 --- a/src/http.zig +++ b/src/http.zig @@ -3531,27 +3531,27 @@ pub const Server = struct { Output.prettyError( " bun!! <d>v{s}<r>\n\n\n Link:<r> <b><cyan>http://localhost:{d}<r>\n <d>{s}/index.html<r> \n\n\n", .{ - Global.package_json_version, + Global.package_json_version_with_sha, addr.ipv4.port, display_path, }, ); } else { Output.prettyError(" bun!! <d>v{s}<r>\n\n\n<d> Link:<r> <b><cyan>http://localhost:{d}<r>\n\n\n", .{ - Global.package_json_version, + Global.package_json_version_with_sha, addr.ipv4.port, }); } } else { if (server.bundler.options.routes.single_page_app_routing) { Output.prettyError(" bun!! <d>v{s}<r>\n\n\n<d> Link:<r> <b><cyan>http://{s}<r>\n <d>{s}/index.html<r> \n\n\n", .{ - Global.package_json_version, + Global.package_json_version_with_sha, addr, display_path, }); } else { Output.prettyError(" bun!! <d>v{s}\n\n\n<d> Link:<r> <b><cyan>http://{s}<r>\n\n\n", .{ - Global.package_json_version, + Global.package_json_version_with_sha, addr, }); } diff --git a/src/report.zig b/src/report.zig index a83c75bad..d77c58247 100644 --- a/src/report.zig +++ b/src/report.zig @@ -117,8 +117,8 @@ pub fn printMetadata() void { crash_report_writer.print( \\ - \\<r>–––– bun meta –––– - ++ "\nBun v" ++ Global.package_json_version ++ " " ++ platform ++ " " ++ arch ++ " {s}\n" ++ + \\<r>----- bun meta ----- + ++ "\nBun v" ++ Global.package_json_version_with_sha ++ " " ++ platform ++ " " ++ arch ++ " {s}\n" ++ \\{s}: {} \\ , .{ @@ -165,7 +165,7 @@ pub fn printMetadata() void { }); } - crash_report_writer.print("–––– bun meta ––––\n", .{}); + crash_report_writer.print("----- bun meta -----\n", .{}); } var has_printed_fatal = false; var has_printed_crash = false; |