From e9e78610d61aa94b1cfa5f7efba39456f30af415 Mon Sep 17 00:00:00 2001 From: Greg Date: Sun, 25 Oct 2026 18:32:43 -0400 Subject: [PATCH] fix(build): clear a killed boot test's container and volume first When the worker is restarted mid-build (watchtower updating its image), the boot test's container and volume are left behind, and the next boot test of that game deploys under the same name. Remove them before each boot test. Co-Authored-By: Claude Opus 5.5 --- cmd/gbrgames/build.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmd/gbrgames/build.go b/cmd/gbrgames/build.go index 1d4a96b..fd81ae8 100644 --- a/cmd/gbrgames/build.go +++ b/cmd/gbrgames/build.go @@ -236,6 +236,10 @@ func bootCheck(gamesDir, id, agentImage string, wantOutside bool) (problems, ver if err != nil { return nil, nil, err } + // A boot test that was killed (worker restarted mid-build) leaves its container and volume behind, + // and the next deploy under the same name would trip over them + runCmd("docker", "rm", "-f", "boottest-"+id) + runCmd("docker", "volume", "rm", "-f", "boottest-"+id+"-data") payloadCmd := exec.Command(self, "boottest-payload", "-games", gamesDir, id) var stderr bytes.Buffer payloadCmd.Stderr = &stderr -- 2.30.2