From a433964108957310595bcba4fb4d738d5fbcc857 Mon Sep 17 00:00:00 2001 From: Philipp Winter Date: Wed, 2 Sep 2026 13:44:32 -0500 Subject: [PATCH] Preserve builder app during connection retries. Avoid shadowing the builder app returned by `EnsureBuilder`. The retry path needs that app's organization and network to establish the WireGuard dialer; losing it caused retries to skip WireGuard and retry forever. --- internal/build/imgsrc/buildkit_builder.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/build/imgsrc/buildkit_builder.go b/internal/build/imgsrc/buildkit_builder.go index fe5d266858..465502093c 100644 --- a/internal/build/imgsrc/buildkit_builder.go +++ b/internal/build/imgsrc/buildkit_builder.go @@ -131,9 +131,10 @@ func (r *BuildkitBuilder) buildWithBuildkit(ctx context.Context, streams *iostre func (r *BuildkitBuilder) connectClient(ctx context.Context, app *flaps.App, appName string) (*client.Client, error) { recreateBuilder := flag.GetRecreateBuilder(ctx) ensureBuilder := false + var err error if r.addr == "" || recreateBuilder { updateProgress(ctx, "Updating remote builder...") - _, app, err := r.provisioner.EnsureBuilder( + _, app, err = r.provisioner.EnsureBuilder( ctx, os.Getenv("FLY_REMOTE_BUILDER_REGION"), recreateBuilder, ) if err != nil {