Skip to content

Commit 5f98c97

Browse files
fullstackjamclaude
andcommitted
feat(updater): auto-upgrade Homebrew installs via brew upgrade
Homebrew-installed versions now automatically run `brew upgrade openboot` when a newer version is available in the cached update state. HOMEBREW_NO_AUTO_UPDATE=1 is set to avoid a slow full brew update. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 29d089a commit 5f98c97

2 files changed

Lines changed: 10 additions & 3 deletions

File tree

internal/updater/updater.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ func AutoUpgrade(currentVersion string) {
9898
}
9999

100100
if IsHomebrewInstall() {
101+
homebrewAutoUpgrade(currentVersion)
101102
return
102103
}
103104

@@ -290,7 +291,11 @@ var execBrewUpgrade = func(formula string) error {
290291

291292
func homebrewAutoUpgrade(currentVersion string) {
292293
state, err := LoadState()
293-
if err != nil || !state.UpdateAvailable || !isNewerVersion(state.LatestVersion, currentVersion) {
294+
if err != nil {
295+
checkForUpdatesAsync(currentVersion)
296+
return
297+
}
298+
if !state.UpdateAvailable || !isNewerVersion(state.LatestVersion, currentVersion) {
294299
checkForUpdatesAsync(currentVersion)
295300
return
296301
}

internal/updater/updater_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,12 @@ func TestHomebrewAutoUpgrade_UpdateAvailable_Failure(t *testing.T) {
372372
UpdateAvailable: true,
373373
}))
374374

375+
called := false
375376
origExec := execBrewUpgrade
376-
execBrewUpgrade = func(formula string) error { return fmt.Errorf("brew failed") }
377+
execBrewUpgrade = func(formula string) error { called = true; return fmt.Errorf("brew failed") }
377378
defer func() { execBrewUpgrade = origExec }()
378379

379-
// should not panic
380380
homebrewAutoUpgrade("1.0.0")
381+
382+
assert.True(t, called, "brew should have been called even when it fails")
381383
}

0 commit comments

Comments
 (0)