diff --git a/build/build.go b/build/build.go index 619bf132..5104e8db 100644 --- a/build/build.go +++ b/build/build.go @@ -737,7 +737,7 @@ func BuildWithResultHandler(ctx context.Context, nodes []builder.Node, opt map[s hasMobyDriver := false gitattrs, err := getGitAttributes(ctx, opt.Inputs.ContextPath, opt.Inputs.DockerfilePath) if err != nil { - logrus.Warn(err) + logrus.WithError(err).Warn("current commit information was not captured by the build") } for i, np := range m[k] { node := nodes[np.driverIndex] diff --git a/build/git.go b/build/git.go index d80a00ba..1e0a284d 100644 --- a/build/git.go +++ b/build/git.go @@ -51,21 +51,21 @@ func getGitAttributes(ctx context.Context, contextPath string, dockerfilePath st gitc, err := gitutil.New(gitutil.WithContext(ctx), gitutil.WithWorkingDir(wd)) if err != nil { - if st, err := os.Stat(path.Join(wd, ".git")); err == nil && st.IsDir() { - return res, errors.New("buildx: git was not found in the system. Current commit information was not captured by the build") + if st, err1 := os.Stat(path.Join(wd, ".git")); err1 == nil && st.IsDir() { + return res, errors.Wrap(err, "git was not found in the system") } return } if !gitc.IsInsideWorkTree() { if st, err := os.Stat(path.Join(wd, ".git")); err == nil && st.IsDir() { - return res, errors.New("buildx: failed to read current commit information with git rev-parse --is-inside-work-tree") + return res, errors.New("failed to read current commit information with git rev-parse --is-inside-work-tree") } return res, nil } if sha, err := gitc.FullCommit(); err != nil && !gitutil.IsUnknownRevision(err) { - return res, errors.Wrapf(err, "buildx: failed to get git commit") + return res, errors.Wrap(err, "failed to get git commit") } else if sha != "" { checkDirty := false if v, ok := os.LookupEnv("BUILDX_GIT_CHECK_DIRTY"); ok { @@ -95,7 +95,7 @@ func getGitAttributes(ctx context.Context, contextPath string, dockerfilePath st if setGitLabels { if root, err := gitc.RootDir(); err != nil { - return res, errors.Wrapf(err, "buildx: failed to get git root dir") + return res, errors.Wrap(err, "failed to get git root dir") } else if root != "" { if dockerfilePath == "" { dockerfilePath = filepath.Join(wd, "Dockerfile") diff --git a/util/gitutil/gitutil.go b/util/gitutil/gitutil.go index 8ab76ab2..22aa72ee 100644 --- a/util/gitutil/gitutil.go +++ b/util/gitutil/gitutil.go @@ -49,7 +49,7 @@ func New(opts ...Option) (*Git, error) { c.gitpath, err = gitPath(c.wd) if err != nil { - return nil, errors.New("git not found in PATH") + return nil, err } return c, nil