diff options
| author | 2022-07-22 13:06:51 -0700 | |
|---|---|---|
| committer | 2022-07-22 13:06:51 -0700 | |
| commit | 2a6acf3c90f8f770d31d6f9419570feccb11c540 (patch) | |
| tree | 5afdeb4deda9acd55560a792c0a9d186532ae04a | |
| parent | cd7f6db1d3d02afdbfdff5a089927bb929967845 (diff) | |
| download | bun-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.zig | 2 | ||||
| -rw-r--r-- | src/cli/upgrade_command.zig | 30 |
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(); } |
