aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-03 18:27:08 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-08-03 18:35:53 -0700
commite253ce0948005978bdc173d3398628dc72a4730e (patch)
tree8b770b48390089148d9e2baf4bd66c021e283086 /src
parent58feb81c36d310b081cfae6f480f9d57585c6f64 (diff)
downloadbun-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.zig8
-rw-r--r--src/bun.js/bindings/Process.cpp3
-rw-r--r--src/bun.js/bindings/headers-handwritten.h2
-rw-r--r--src/bun.js/node/types.zig1
-rw-r--r--src/env.zig2
-rw-r--r--src/http.zig8
-rw-r--r--src/report.zig6
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;