diff --git a/cmd/src/actions_cache.go b/cmd/src/actions_cache.go index 3e72862991..9666954127 100644 --- a/cmd/src/actions_cache.go +++ b/cmd/src/actions_cache.go @@ -89,6 +89,10 @@ func (c actionExecutionDiskCache) clear(ctx context.Context, key actionExecution return err } + if _, err := os.Stat(path); os.IsNotExist(err) { + return nil + } + return os.Remove(path) } diff --git a/cmd/src/actions_exec_backend_runner.go b/cmd/src/actions_exec_backend_runner.go index cc49107cbe..85a013fa91 100644 --- a/cmd/src/actions_exec_backend_runner.go +++ b/cmd/src/actions_exec_backend_runner.go @@ -233,7 +233,7 @@ func runAction(ctx context.Context, prefix, repoID, repoName, rev string, steps elapsed := time.Since(t0).Round(time.Millisecond) if err != nil { logger.DockerStepErrored(repoName, i, err, elapsed) - return nil, errors.Wrap(err, "run docker container") + return nil, errors.Wrapf(err, "Running Docker container for image %q failed", step.Image) } logger.DockerStepDone(repoName, i, elapsed) diff --git a/cmd/src/actions_exec_logger.go b/cmd/src/actions_exec_logger.go index bb8881474f..f7d7a8375d 100644 --- a/cmd/src/actions_exec_logger.go +++ b/cmd/src/actions_exec_logger.go @@ -70,10 +70,14 @@ func (a *actionLogger) ActionFailed(err error, patches []PatchInput) { fmt.Fprintln(os.Stderr) if perr, ok := err.(parallel.Errors); ok { if len(patches) > 0 { - yellow.Fprintf(os.Stderr, "✗ Action produced %d patches but failed with %d errors.\n\n", len(patches), len(perr)) + yellow.Fprintf(os.Stderr, "✗ Action produced %d patches but failed with %d errors:\n\n", len(patches), len(perr)) } else { - yellow.Fprintf(os.Stderr, "✗ Action failed with %d errors.\n", len(perr)) + yellow.Fprintf(os.Stderr, "✗ Action failed with %d errors:\n", len(perr)) } + for _, e := range perr { + fmt.Fprintf(os.Stderr, "\t- %s\n", e) + } + fmt.Println() } else if err != nil { if len(patches) > 0 { yellow.Fprintf(os.Stderr, "✗ Action produced %d patches but failed with error: %s\n\n", len(patches), err)