diff --git a/internal/pipe/build/build.go b/internal/pipe/build/build.go index 1c2cc0fcbb5..d1193fd6ea1 100644 --- a/internal/pipe/build/build.go +++ b/internal/pipe/build/build.go @@ -162,7 +162,7 @@ func run(ctx *context.Context, command, env []string) error { log.Debug("running") if out, err := cmd.CombinedOutput(); err != nil { log.WithError(err).Debug("failed") - return errors.New(string(out)) + return errors.Wrapf(err, "%q", string(out)) } return nil } diff --git a/internal/pipe/build/build_test.go b/internal/pipe/build/build_test.go index a29c586f3e6..d471c30e182 100644 --- a/internal/pipe/build/build_test.go +++ b/internal/pipe/build/build_test.go @@ -182,14 +182,14 @@ func TestRunPipeFailingHooks(t *testing.T) { ctx.Git.CurrentTag = "2.3.4" ctx.Config.Builds[0].Hooks.Pre = "exit 1" ctx.Config.Builds[0].Hooks.Post = "echo post" - assert.EqualError(t, Pipe{}.Run(ctx), `pre hook failed: `) + assert.EqualError(t, Pipe{}.Run(ctx), `pre hook failed: "": exec: "exit": executable file not found in $PATH`) }) t.Run("post-hook", func(t *testing.T) { var ctx = context.New(config) ctx.Git.CurrentTag = "2.3.4" ctx.Config.Builds[0].Hooks.Pre = "echo pre" ctx.Config.Builds[0].Hooks.Post = "exit 1" - assert.EqualError(t, Pipe{}.Run(ctx), `post hook failed: `) + assert.EqualError(t, Pipe{}.Run(ctx), `post hook failed: "": exec: "exit": executable file not found in $PATH`) }) }