package runner import ( "git.0x7f.app/WOJ/woj-server/internal/e" "git.0x7f.app/WOJ/woj-server/pkg/utils" "go.uber.org/zap" "os" "os/exec" "path/filepath" ) func (s *service) EnsureDeps(force bool) e.Status { mark := filepath.Join(Prefix, ".mark.container") if force { _ = os.Remove(mark) } else if utils.FileExist(mark) { return e.Success } script := filepath.Join(ScriptsDir, "prepare_images.sh") cmd := exec.Command(script) cmd.Dir = ScriptsDir if s.verbose { cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr } err := cmd.Run() if err != nil { s.log.Warn("prebuild docker images failed", zap.Error(err)) return e.RunnerDepsBuildFailed } return e.Success }