aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-22 13:06:51 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-22 13:06:51 -0700
commit2a6acf3c90f8f770d31d6f9419570feccb11c540 (patch)
tree5afdeb4deda9acd55560a792c0a9d186532ae04a
parentcd7f6db1d3d02afdbfdff5a089927bb929967845 (diff)
downloadbun-2a6acf3c90f8f770d31d6f9419570feccb11c540.tar.gz
bun-2a6acf3c90f8f770d31d6f9419570feccb11c540.tar.zst
bun-2a6acf3c90f8f770d31d6f9419570feccb11c540.zip
[bun upgrade] Fix name used in temporary dir for canary builds
-rw-r--r--src/cli.zig2
-rw-r--r--src/cli/upgrade_command.zig30
2 files changed, 26 insertions, 6 deletions
diff --git a/src/cli.zig b/src/cli.zig
index 7bdf75dbb..e849d258f 100644
--- a/src/cli.zig
+++ b/src/cli.zig
@@ -55,7 +55,7 @@ const UpgradeCommand = @import("./cli/upgrade_command.zig").UpgradeCommand;
const MacroMap = @import("./resolver/package_json.zig").MacroMap;
const Reporter = @import("./report.zig");
-var start_time: i128 = undefined;
+pub var start_time: i128 = undefined;
const Bunfig = @import("./bunfig.zig").Bunfig;
pub const Cli = struct {
diff --git a/src/cli/upgrade_command.zig b/src/cli/upgrade_command.zig
index 8e2946a68..3add7714e 100644
--- a/src/cli/upgrade_command.zig
+++ b/src/cli/upgrade_command.zig
@@ -56,11 +56,28 @@ pub const Version = struct {
size: u32 = 0,
pub fn name(this: Version) ?string {
- if (this.tag.len > "bun-v".len and strings.eqlComptime(this.tag[0.."bun-v".len], "bun-v")) {
- return this.tag[("bun-v".len)..];
- } else {
- return null;
+ if (this.tag.len <= "bun-v".len or !strings.hasPrefixComptime(this.tag, "bun-v")) {
+ if (strings.eqlComptime(this.tag, "canary")) {
+ const Cli = @import("../cli.zig");
+
+ return std.fmt.allocPrint(
+ bun.default_allocator,
+ "bun-canary-timestamp-{any}",
+ .{
+ std.fmt.fmtSliceHexLower(
+ std.mem.asBytes(
+ &bun.hash(
+ std.mem.asBytes(&Cli.start_time),
+ ),
+ ),
+ ),
+ },
+ ) catch unreachable;
+ }
+ return this.tag;
}
+
+ return this.tag["bun-v".len..];
}
pub const platform_label = if (Environment.isMac) "darwin" else "linux";
@@ -80,7 +97,10 @@ pub const Version = struct {
pub const UpgradeCheckerThread = struct {
var update_checker_thread: std.Thread = undefined;
pub fn spawn(env_loader: *DotEnv.Loader) void {
- if (env_loader.map.get("BUN_DISABLE_UPGRADE_CHECK") != null or env_loader.map.get("CI") != null) return;
+ if (env_loader.map.get("BUN_DISABLE_UPGRADE_CHECK") != null or
+ env_loader.map.get("CI") != null or
+ strings.eqlComptime(env_loader.get("BUN_CANARY") orelse "0", "1"))
+ return;
update_checker_thread = std.Thread.spawn(.{}, run, .{env_loader}) catch return;
update_checker_thread.detach();
}