fix: allow upgrade without config dir (fixes #10240) (#10241)

This commit is contained in:
Jakob Borg
2025-08-12 18:44:57 +02:00
committed by GitHub
parent 5d8033343f
commit fcf4916086

View File

@@ -868,12 +868,16 @@ func (u upgradeCmd) Run() error {
lf := flock.New(locations.Get(locations.LockFile)) lf := flock.New(locations.Get(locations.LockFile))
var locked bool var locked bool
locked, err = lf.TryLock() locked, err = lf.TryLock()
if err != nil { // ErrNotExist is a valid error if this is a new/blank installation
// without a config dir, in which case we can proceed with a normal
// non-API upgrade.
switch {
case err != nil && !os.IsNotExist(err):
slog.Error("Failed to lock for upgrade", slogutil.Error(err)) slog.Error("Failed to lock for upgrade", slogutil.Error(err))
os.Exit(1) os.Exit(1)
} else if locked { case locked:
err = upgradeViaRest() err = upgradeViaRest()
} else { default:
err = upgrade.To(release) err = upgrade.To(release)
} }
} }