Repository navigation
hookd: 馃悰 Wait for uv to resolve the release before installing - #313
Merged
Merged
Conversation
yasyf
force-pushed
the
updater-index-wait
branch
from
October 5, 2026 06:37
63168de to
a49f80b
Compare
yasyf
force-pushed
the
updater-index-wait
branch
from
October 5, 2026 07:02
a49f80b to
6443e3d
Compare
yasyf
force-pushed
the
updater-index-wait
branch
from
October 5, 2026 07:07
6443e3d to
201613a
Compare
yasyf
force-pushed
the
updater-index-wait
branch
from
October 5, 2026 07:24
201613a to
c4ad560
Compare
yasyf
force-pushed
the
updater-index-wait
branch
from
October 5, 2026 07:26
c4ad560 to
5e0d765
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
The 12.88.0 self-update failed minutes after
publish-pypisucceeded.uv tool install capt-hook==12.88.0returnedNo solution found, and the updaterreported
host 12.87.6 did not reach v12.88.0.Summary
Before installing,
package-installwaits up to 10 minutes for uv to resolvecapt-hook==<build>. It probes every 5 seconds withuv pip compile --no-deps --refresh-package capt-hook, passing the requirement onstdin. Only the resolution probe repeats; installation is attempted once.
An existing tool env for this build skips the wait. A probe uv cannot run fails
immediately.
capt-hook helper installnames the wait in its progress line.Motivation
Asking uv honors
UV_DEFAULT_INDEX,UV_FIND_LINKS, anduv.toml. Direct indexpolling made
linux-hostCI wait 10 minutes and fail because its local wheelhouseis supplied through
UV_FIND_LINKS.At 06:53 UTC on 2026-10-05, PyPI's simple JSON listed 12.88.3 in
versionsbut hadno matching
files. uv could not resolve it until a minute later. Checkingversionsalone would have ended the wait too early.Details
The wait has its own 10-minute budget. #312 already provides the separate
15-minute install and 3-minute swap budgets. The Python updater's existing
30-minute
deploy()timeout covers the 28-minute worst case.Fake-uv tests in
toolrelease_test.gocover resolution after two probes with exactargv and stdin, deadline failure with the version and uv's last stderr, and
immediate failure when uv cannot run. Local checks passed:
go test ./internal/hookd/ -run 'AwaitResolvable|PackageInstall'GOOS=linux go vet ./internal/hookd/