--- run: timeout: 5m skip-files: # Skip autogenerated files. - ^.*\.(pb|y)\.go$ - dagger/dagger.gen.go skip-dirs: - dagger/internal output: sort-results: true linters: enable: - depguard - durationcheck - errorlint - exportloopref - gofmt - gofumpt - goimports - gosimple - ineffassign - misspell - nolintlint - perfsprint - predeclared - revive - staticcheck - unconvert - unused - usestdlibvars - wastedassign issues: max-same-issues: 0 exclude-rules: - path: _test.go linters: - errcheck - govet - structcheck linters-settings: depguard: rules: main: deny: #- pkg: "sync/atomic" # desc: "Use go.uber.org/atomic instead of sync/atomic" - pkg: "github.com/stretchr/testify/assert" desc: "Use github.com/stretchr/testify/require instead of github.com/stretchr/testify/assert" - pkg: "github.com/go-kit/kit/log" desc: "Use github.com/go-kit/log instead of github.com/go-kit/kit/log" - pkg: "io/ioutil" desc: "Use corresponding 'os' or 'io' functions instead." #- pkg: "regexp" # desc: "Use github.com/grafana/regexp instead of regexp" errcheck: exclude-functions: # The following 2 methods always return nil as the error - (*github.com/cespare/xxhash/v2.Digest).Write - (*github.com/cespare/xxhash/v2.Digest).WriteString - (*bufio.Writer).WriteRune goimports: local-prefixes: github.com/prometheus/client_golang gofumpt: extra-rules: true perfsprint: # Optimizes even if it requires an int or uint type cast. int-conversion: true # Optimizes into `err.Error()` even if it is only equivalent for non-nil errors. err-error: true # Optimizes `fmt.Errorf`. errorf: true # Optimizes `fmt.Sprintf` with only one argument. sprintf1: true # Optimizes into strings concatenation. strconcat: true revive: rules: # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter - name: unused-parameter severity: warning disabled: true