From e70a3c33baf1e561f94bd05cb58c7dc60d36515a Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 13 May 2025 16:36:37 +0200 Subject: [PATCH] fix(build): prepare xgo once during release Otherwise each release step will pull the image, which makes for a lot of duplication --- magefile.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/magefile.go b/magefile.go index cdba44540..ecc4ef3ce 100644 --- a/magefile.go +++ b/magefile.go @@ -668,7 +668,7 @@ type Release mg.Namespace // Runs all steps in the right order to create release packages for various platforms func (Release) Release(ctx context.Context) error { mg.Deps(initVars) - mg.Deps(Release.Dirs) + mg.Deps(Release.Dirs, prepareXgo) // Run compiling in parallel to speed it up errs, _ := errgroup.WithContext(ctx) @@ -708,6 +708,14 @@ func (Release) Dirs() error { return nil } +func prepareXgo() { + mg.Deps(initVars) + checkAndInstallGoTool("xgo", "src.techknowlogick.com/xgo") + + fmt.Println("Pulling latest xgo docker image...") + runAndStreamOutput("docker", "pull", "ghcr.io/techknowlogick/xgo:latest") +} + func runXgo(targets string) error { mg.Deps(initVars) checkAndInstallGoTool("xgo", "src.techknowlogick.com/xgo")