Skip to content

Commit cacbcb8

Browse files
authored
extract RunCacheProbe function (#284)
Builds on top of #282 and #283: - Extracts the logic for --get-cached-image to a separate function - Also pulls out some other common logic shared between Run and RunCacheProbe.
1 parent 039314e commit cacbcb8

File tree

4 files changed

+522
-121
lines changed

4 files changed

+522
-121
lines changed

cmd/envbuilder/main.go

+14
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func envbuilderCmd() serpent.Command {
3636
Use: "envbuilder",
3737
Options: o.CLI(),
3838
Handler: func(inv *serpent.Invocation) error {
39+
o.SetDefaults()
3940
o.Logger = log.New(os.Stderr, o.Verbose)
4041
if o.CoderAgentURL != "" {
4142
if o.CoderAgentToken == "" {
@@ -63,6 +64,19 @@ func envbuilderCmd() serpent.Command {
6364
}
6465
}
6566

67+
if o.GetCachedImage {
68+
img, err := envbuilder.RunCacheProbe(inv.Context(), o)
69+
if err != nil {
70+
o.Logger(log.LevelError, "error: %s", err)
71+
}
72+
digest, err := img.Digest()
73+
if err != nil {
74+
return fmt.Errorf("get cached image digest: %w", err)
75+
}
76+
_, _ = fmt.Fprintf(inv.Stdout, "ENVBUILDER_CACHED_IMAGE=%s@%s\n", o.CacheRepo, digest.String())
77+
return nil
78+
}
79+
6680
err := envbuilder.Run(inv.Context(), o)
6781
if err != nil {
6882
o.Logger(log.LevelError, "error: %s", err)

0 commit comments

Comments
 (0)