diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec9eac5..41cfd16 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,10 +36,10 @@ jobs: run: diff <(echo -n) <(gofumpt -d .) - name: golangci-lint - uses: golangci/golangci-lint-action@v6 + uses: golangci/golangci-lint-action@v9 with: - version: v1.62.2 - args: --verbose --timeout=3m + version: v2.12.2 + args: --verbose - name: Build examples run: make build-examples diff --git a/Makefile b/Makefile index b9e1ee1..49c8569 100644 --- a/Makefile +++ b/Makefile @@ -3,14 +3,14 @@ GOCMD=GO111MODULE=on go linters-install: @golangci-lint --version >/dev/null 2>&1 || { \ echo "installing linting tools..."; \ - curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.62.2; \ + curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v2.12.2; \ } lint: linters-install golangci-lint run test: - $(GOCMD) test -v -cover -race ./... + $(GOCMD) test -v -cover -race $$(go list ./... | grep -v /examples/) build-examples: $(GOCMD) build ./examples/... diff --git a/go.mod b/go.mod index 61ad0a7..787cdf7 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/hypersequent/qasphere-csv -go 1.23.4 +go 1.25.0 require ( github.com/go-playground/validator/v10 v10.23.0 @@ -17,9 +17,9 @@ require ( github.com/hashicorp/errwrap v1.0.0 // indirect github.com/leodido/go-urn v1.4.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - golang.org/x/crypto v0.19.0 // indirect - golang.org/x/net v0.21.0 // indirect - golang.org/x/sys v0.17.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/crypto v0.52.0 // indirect + golang.org/x/net v0.55.0 // indirect + golang.org/x/sys v0.45.0 // indirect + golang.org/x/text v0.37.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 7873bea..4c93546 100644 --- a/go.sum +++ b/go.sum @@ -22,14 +22,14 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988= +golang.org/x/crypto v0.52.0/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= +golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= +golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= +golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= +golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/qacsv_test.go b/qacsv_test.go index 5b80714..35fab5a 100644 --- a/qacsv_test.go +++ b/qacsv_test.go @@ -409,8 +409,8 @@ func TestWriteCSVMultipleTCasesSuccess(t *testing.T) { f, err := os.Open(tempFileName) require.NoError(t, err) defer func() { - f.Close() - os.Remove(tempFileName) + _ = f.Close() + _ = os.Remove(tempFileName) }() b, err := io.ReadAll(f) diff --git a/qascsv.go b/qascsv.go index 4dd68fc..a4f5166 100644 --- a/qascsv.go +++ b/qascsv.go @@ -280,13 +280,12 @@ func (q *QASphereCSV) WriteCSVToFile(file string) error { if err != nil { return errors.Wrap(err, "create csv") } - defer f.Close() - if err := q.writeCSV(f); err != nil { + _ = f.Close() return errors.Wrap(err, "write csv") } - return nil + return errors.Wrap(f.Close(), "close csv") } func validateFolderSegments(segments []string) error { @@ -337,7 +336,7 @@ func (q *QASphereCSV) addTCase(tc TestCase) { q.folderTCaseMap[folderPath] = append(q.folderTCaseMap[folderPath], tc) q.numTCases++ - if (len(tc.Steps)) > q.maxSteps { + if len(tc.Steps) > q.maxSteps { q.maxSteps = len(tc.Steps) } }