From dad55b6193a1ae383be73972e9defc57cd1c98df Mon Sep 17 00:00:00 2001 From: Jared Allard Date: Sun, 9 Mar 2025 16:43:01 -0700 Subject: [PATCH] build(lint): properly cleanup container, speed up stopping --- .tools/internal/ebuild/manifest.go | 4 ++-- .tools/internal/steps/executor.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.tools/internal/ebuild/manifest.go b/.tools/internal/ebuild/manifest.go index ecc593c..67be425 100644 --- a/.tools/internal/ebuild/manifest.go +++ b/.tools/internal/ebuild/manifest.go @@ -93,7 +93,7 @@ func ValidateManifest(stdout, stderr io.Writer, overlayDir, packageName string) ctx := context.TODO() bid, err := exec.Command( - "docker", "run", "-d", "--rm", "--entrypoint", "sleep", gentooImage, "infinity", + "docker", "run", "--init", "-d", "--rm", "--entrypoint", "sleep", gentooImage, "infinity", ).Output() if err != nil { var execErr *exec.ExitError @@ -104,7 +104,7 @@ func ValidateManifest(stdout, stderr io.Writer, overlayDir, packageName string) return fmt.Errorf("failed to run container: %w", err) } containerID := strings.TrimSpace(string(bid)) - defer exec.Command("docker", "stop", containerID) //nolint:errcheck // Why: best effort + defer exec.Command("docker", "stop", containerID).Run() //nolint:errcheck // Why: best effort lclPkgDir := filepath.Join(overlayDir, packageName) diff --git a/.tools/internal/steps/executor.go b/.tools/internal/steps/executor.go index 66c771a..3bad20e 100644 --- a/.tools/internal/steps/executor.go +++ b/.tools/internal/steps/executor.go @@ -97,7 +97,7 @@ func (e *Executor) Run(ctx context.Context) (*Results, error) { // TODO(jaredallard): Use the Docker API for this, but for now the CLI // is much better. bid, err := exec.Command( - "docker", "run", "-d", "--rm", "--entrypoint", "sleep", + "docker", "run", "--init", "-d", "--rm", "--entrypoint", "sleep", "ghcr.io/jaredallard/overlay:updater", "infinity", ).Output() if err != nil {