diff --git a/checksum/checksum.go b/checksum/checksum.go index 099a4d91d..6a4b1b850 100644 --- a/checksum/checksum.go +++ b/checksum/checksum.go @@ -7,8 +7,6 @@ import ( "hash" "io" "os" - - "github.com/apex/log" ) // SHA256 sum of the given file @@ -21,11 +19,7 @@ func calculate(hash hash.Hash, path string) (string, error) { if err != nil { return "", err } - defer func() { - if err := file.Close(); err != nil { - log.WithError(err).Errorf("failed to close %s", path) - } - }() + defer file.Close() // nolint: errcheck return doCalculate(hash, file) } diff --git a/pipeline/archive/archive.go b/pipeline/archive/archive.go index 50057af98..a4a3baf77 100644 --- a/pipeline/archive/archive.go +++ b/pipeline/archive/archive.go @@ -77,18 +77,10 @@ func create(ctx *context.Context, artifacts []artifact.Artifact) error { if err != nil { return fmt.Errorf("failed to create directory %s: %s", archivePath, err.Error()) } - defer func() { - if e := archiveFile.Close(); e != nil { - log.WithField("archive", archivePath).Errorf("failed to close file: %v", e) - } - }() + defer archiveFile.Close() // nolint: errcheck log.WithField("archive", archivePath).Info("creating") var a = archive.New(archiveFile) - defer func() { - if e := a.Close(); e != nil { - log.WithField("archive", archivePath).Errorf("failed to close archive: %v", e) - } - }() + defer a.Close() // nolint: errcheck files, err := findFiles(ctx) if err != nil { diff --git a/pipeline/checksums/checksums.go b/pipeline/checksums/checksums.go index 0bda34cc1..8399db3eb 100644 --- a/pipeline/checksums/checksums.go +++ b/pipeline/checksums/checksums.go @@ -42,16 +42,8 @@ func (Pipe) Run(ctx *context.Context) (err error) { if err != nil { return err } - defer func() { - if err := file.Close(); err != nil { - log.WithError(err).Errorf("failed to close %s", file.Name()) - } - ctx.Artifacts.Add(artifact.Artifact{ - Type: artifact.Checksum, - Path: file.Name(), - Name: filename, - }) - }() + defer file.Close() // nolint: errcheck + // TODO: parallelism should be considered here as well. var g errgroup.Group for _, artifact := range ctx.Artifacts.Filter( @@ -66,6 +58,11 @@ func (Pipe) Run(ctx *context.Context) (err error) { return checksums(ctx, file, artifact) }) } + ctx.Artifacts.Add(artifact.Artifact{ + Type: artifact.Checksum, + Path: file.Name(), + Name: filename, + }) return g.Wait() } diff --git a/pipeline/release/release.go b/pipeline/release/release.go index ea972ddf3..18d8f8df7 100644 --- a/pipeline/release/release.go +++ b/pipeline/release/release.go @@ -87,7 +87,7 @@ func upload(ctx *context.Context, c client.Client, releaseID int, artifact artif if err != nil { return err } - defer func() { _ = file.Close() }() + defer file.Close() // nolint: errcheck log.WithField("file", file.Name()).WithField("name", artifact.Name).Info("uploading to release") return c.Upload(ctx, releaseID, artifact.Name, file) }