Skip to content

Commit

Permalink
Bump to go1.22
Browse files Browse the repository at this point in the history
  • Loading branch information
ToutPetitAdrien committed Jul 23, 2024
1 parent 16aca5a commit 021cae7
Show file tree
Hide file tree
Showing 7 changed files with 143 additions and 5 deletions.
125 changes: 125 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
linters:
# Please, do not use `enable-all`: it's deprecated and will be removed soon.
# Inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint.
# Full list of linters - https://golangci-lint.run/usage/linters
disable-all: true
enable:
- bodyclose # https://github.com/timakin/bodyclose
- gomodguard
- errcheck # Mandatory. Do not disable.
- gocritic
- goimports
- gosec
- gosimple
- govet
- noctx
- nolintlint
- ineffassign # Mandatory. Do not disable.
- staticcheck # Mandatory. Do not disable.
- stylecheck
- typecheck
- unused

# Other linters:
# - dogsled
# - dupl
# - exportloopref
# - exhaustive # e.g. missing cases in switch of type
# - funlen
# - gochecknoinits
# - gocognit
# - goconst
# - gocyclo
# - goerr113
# - gofmt
# - goprintffuncname
# - lll
# - misspell
# - nakedret
# - nlreturn
# - prealloc
# - revive
# - rowserrcheck
# - stylecheck
# - unconvert
# - unparam

linters-settings:
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
disabled-checks:
- dupImport # https://github.com/go-critic/go-critic/issues/845
- whyNoLint # checked by nolintlint linter
- hugeParam # TODO(vtopc): configure(80 bytes is probably not so much) and enable.
- rangeValCopy # TODO(vtopc): configure(disable for tests) and enable.
- appendAssign
- commentedOutCode

errcheck:
# List of functions to exclude from checking, where each entry is a single function to exclude.
# See https://github.com/kisielk/errcheck#excluding-functions for details.
exclude-functions:
- (io.Closer).Close
- (io.ReadCloser).Close

govet:
enable-all: true
disable:
- shadow
- fieldalignment

gomodguard:
blocked:
# List of blocked modules.
# Default: []
modules:
- github.com/golang/protobuf:
recommendations:
- google.golang.org/protobuf
reason: "see https://developers.google.com/protocol-buffers/docs/reference/go/faq#modules"
- github.com/pkg/errors:
recommendations:
- errors
- github.com/mailgun/errors
reason: "Deprecated"

stylecheck:
# https://staticcheck.io/docs/options#checks
checks: ["all"]

issues:
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
max-issues-per-linter: 0

# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
max-same-issues: 50

exclude:
# Some packages have deprecated fields which continue to be useful
- SA1019

exclude-rules:
# Exclude some rules from tests.
- path: '_test\.go$'
linters:
- gosec
- noctx
- path: '_test\.go$'
text: "unnamedResult:"
- path: '.*mxresolv.*'
linters:
- gosec


run:
# include test files or not, default is true
tests: true

# Timeout for analysis, e.g. 30s, 5m.
# Default: 1m
timeout: 5m
13 changes: 13 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
GOLANGCI_LINT = $(GOPATH)/bin/golangci-lint
GOLANGCI_LINT_VERSION = v1.57.2

.PHONY: lint
lint: $(GOLANGCI_LINT)
$(GOLANGCI_LINT) run

$(GOLANGCI_LINT):
curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOPATH)/bin $(GOLANGCI_LINT_VERSION)

.PHONY: test
test:
go test -p 1 ./... -short -race -timeout 1m -count=1
2 changes: 1 addition & 1 deletion fields.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ func (c *fields) Is(target error) bool {
// cause of the issue. We only support this because some code
// depends on github.com/pkg/errors.Cause() returning the cause
// of the error.
// deprecated use error.Is() or error.As() instead
// Deprecated: use error.Is() or error.As() instead
func (c *fields) Cause() error { return c.wrapped }

func (c *fields) Error() string {
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/mailgun/errors

go 1.19
go 1.21

require (
github.com/ahmetb/go-linq v3.0.0+incompatible
Expand Down
2 changes: 1 addition & 1 deletion stack.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func (w *stack) Is(target error) bool {
// cause of the issue. We only support this because some code
// depends on github.com/pkg/errors.Cause() returning the cause
// of the error.
// deprecated use error.Is() or error.As() instead
// Deprecated: use error.Is() or error.As() instead
func (w *stack) Cause() error { return w.error }

func (w *stack) HasFields() map[string]any {
Expand Down
2 changes: 1 addition & 1 deletion stack_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ func TestFormatStack(t *testing.T) {
for _, tt := range tests {
t.Run(tt.Name, func(t *testing.T) {
out := fmt.Sprintf(tt.format, tt.err)
//t.Log(out)
// t.Log(out)

for _, line := range tt.want {
assert.Contains(t, out, line)
Expand Down
2 changes: 1 addition & 1 deletion wrap.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ func (e *wrappedError) Is(target error) bool {
// cause of the issue. We only support this because some code
// depends on github.com/pkg/errors.Cause() returning the cause
// of the error.
// deprecated use error.Is() or error.As() instead
// Deprecated: use error.Is() or error.As() instead
func (e *wrappedError) Cause() error { return e.wrapped }

func (e *wrappedError) Error() string {
Expand Down

0 comments on commit 021cae7

Please sign in to comment.