From f0786fc66a1b9d888c18a7525206102d5392d76c Mon Sep 17 00:00:00 2001 From: "go-git-renovate[bot]" <245267575+go-git-renovate[bot]@users.noreply.github.com> Date: Fri, 28 Nov 2025 05:16:45 +0000 Subject: [PATCH 1/2] build: Update dependency golangci/golangci-lint to v2.6.2 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5657870..66f54b8 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ GOCMD = go GOTEST = $(GOCMD) test # renovate: datasource=github-tags depName=golangci/golangci-lint -GOLANGCI_VERSION ?= v2.1.6 +GOLANGCI_VERSION ?= v2.6.2 TOOLS_BIN := $(shell mkdir -p build/tools && realpath build/tools) GOLANGCI = $(TOOLS_BIN)/golangci-lint-$(GOLANGCI_VERSION) From 5369c1e1aaa55cc22e202196b7f25ccec58e12c3 Mon Sep 17 00:00:00 2001 From: Paulo Gomes Date: Fri, 28 Nov 2025 07:41:36 +0000 Subject: [PATCH 2/2] build: Fix linter issues Signed-off-by: Paulo Gomes --- fixtures.go | 12 ++++-------- fixtures_test.go | 2 ++ internal/tgz/tgz.go | 7 ++++++- internal/tgz/tgz_test.go | 1 + osfixture.go | 6 ++++-- 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/fixtures.go b/fixtures.go index f0dfc75..9a1e1cc 100644 --- a/fixtures.go +++ b/fixtures.go @@ -232,13 +232,7 @@ type Fixture struct { } func (f *Fixture) Is(tag string) bool { - for _, t := range f.Tags { - if t == tag { - return true - } - } - - return false + return slices.Contains(f.Tags, tag) } func (f *Fixture) Packfile() billy.File { @@ -316,7 +310,8 @@ func (f *Fixture) Clone() *Fixture { // EnsureIsBare overrides the config file with one where bare is true. func EnsureIsBare(fs billy.Filesystem) error { - if _, err := fs.Stat("config"); err != nil { + _, err := fs.Stat("config") + if err != nil { return fmt.Errorf("not .git folder: %w", err) } @@ -370,6 +365,7 @@ type Fixtures []*Fixture // Run calls test within a t.Run for each fixture in g. func (g Fixtures) Run(t *testing.T, test func(*testing.T, *Fixture)) { t.Helper() + for _, f := range g { name := fmt.Sprintf("fixture run (%q, %q)", f.URL, f.Tags) t.Run(name, func(t *testing.T) { diff --git a/fixtures_test.go b/fixtures_test.go index 8c91c7b..90f5e65 100644 --- a/fixtures_test.go +++ b/fixtures_test.go @@ -71,6 +71,7 @@ func TestRevFiles(t *testing.T) { func TestAll(t *testing.T) { t.Parallel() + fs := fixtures.All() assert.Len(t, fs, 39) @@ -78,6 +79,7 @@ func TestAll(t *testing.T) { func TestByTag(t *testing.T) { t.Parallel() + tests := []struct { tag string len int diff --git a/internal/tgz/tgz.go b/internal/tgz/tgz.go index b07182c..a86ca9e 100644 --- a/internal/tgz/tgz.go +++ b/internal/tgz/tgz.go @@ -62,6 +62,7 @@ func filemode(mode int64) (fs.FileMode, error) { if mode < 0 { return 0, ErrCannotBeNegative } + if mode > math.MaxUint32 { return 0, ErrCannotBeGreaterThanMaxUInt32 } @@ -81,10 +82,12 @@ func unTar(fs billy.Filesystem, src *tar.Reader) error { } dst := header.Name + mode, err := filemode(header.Mode) if err != nil { return err } + switch header.Typeflag { case tar.TypeDir: err := fs.MkdirAll(dst, mode) @@ -110,6 +113,7 @@ func makeFile(fs billy.Filesystem, path string, mode os.FileMode, contents io.Re if err != nil { return err } + defer func() { errClose := w.Close() if err == nil { @@ -123,7 +127,8 @@ func makeFile(fs billy.Filesystem, path string, mode os.FileMode, contents io.Re } if fs, ok := fs.(billy.Change); ok { - if err = fs.Chmod(path, mode); err != nil { + err = fs.Chmod(path, mode) + if err != nil { return err } } diff --git a/internal/tgz/tgz_test.go b/internal/tgz/tgz_test.go index 37bf806..867974d 100644 --- a/internal/tgz/tgz_test.go +++ b/internal/tgz/tgz_test.go @@ -45,6 +45,7 @@ func TestExtractError(t *testing.T) { require.NoError(t, err) source := osfs.New(d + "/fixtures") + f, err := source.Open(tc.tgz) if tc.notFound { require.ErrorIs(t, err, os.ErrNotExist) diff --git a/osfixture.go b/osfixture.go index e4698ab..dbc9c0b 100644 --- a/osfixture.go +++ b/osfixture.go @@ -9,16 +9,17 @@ import ( ) type OSFixture struct { - dir string *Fixture + + dir string } // NewOSFixture converts a Fixture which is based on embedfs, into // an OS based fixture. func NewOSFixture(f *Fixture, dir string) *OSFixture { return &OSFixture{ - dir: dir, Fixture: f, + dir: dir, } } @@ -67,6 +68,7 @@ func embedToOsfs(dir string, f billy.File) billy.File { defer f.Close() fs := osfs.New(dir) + out, err := fs.TempFile("", "embed") if err != nil { panic(err)