Add image tag command - #65
Conversation
| if err := waitForImageReady(ctx, &client, cachedImage); err != nil { | ||
| return err | ||
| } | ||
| return runRemotePush(ctx, cmd, target, target) |
There was a problem hiding this comment.
Cached push skips newer Docker image
High Severity
A successful Images.Get now short-circuits staging, so one-arg hypeman push TARGET never reloads Docker when that tag already exists in Hypeman. Rebuilds that retag the same name and push again keep shipping the previous cached digest, including when the cached record is failed and waitForImageReady errors out. The still-documented docker tag then hypeman push TARGET loop is the common path this breaks.
Reviewed by Cursor Bugbot for commit 5010e06. Configure here.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 61d1aca. Configure here.
| staged, stageErr := stageDockerImage(ctx, cmd, &client, source, target) | ||
| if stageErr != nil { | ||
| return fmt.Errorf("image %q was not found in Hypeman or Docker: %w", source, stageErr) | ||
| } |
There was a problem hiding this comment.
Tag errors claim image not found
Low Severity
Every stageDockerImage failure is wrapped as if the image was missing. Upload, wait, and follow-up GET errors are reported as not found in Hypeman or Docker for tag, and as a failed local Docker load for one-argument push, including cases where Docker load already succeeded.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 61d1aca. Configure here.
136deca to
be0c5be
Compare
|
note on the raw |


summary
Adds
hypeman tag SOURCE TARGETfor the local image-tag API inkernel/hypeman#453.POST /images/{source}/tagwith{ "target": "..." }.hypeman push TARGETuse a matching local Docker image when present, then fall back to a ready Hypeman image or Docker staging.hypeman push SOURCE TARGETfor pushing a cached image to a different remote reference.new UX
The tag operation does not pull or reconvert image content. It creates a local alias through the server-side API.
--format,--transform, and--debugcontinue to work with the command.validation
go test ./...Depends on the image tag API in
kernel/hypeman#453.