From e3726588b416682db28ea9173bf2c36e4554ce05 Mon Sep 17 00:00:00 2001 From: Mohammed Al Sahaf Date: Wed, 16 Oct 2019 00:37:46 +0300 Subject: v2: Project-and-CI-wide linter config (#2812) * v2: split golangci-lint configuration into its own file to allow code editors to take advantage of it * v2: simplify code * v2: set the correct lint output formatting * v2: invert the logic of linter's configuration of output formatting to allow the editor convenience over CI-specific customization. Customize the output format in CI by passing the flag. * v2: remove irrelevant golangci-lint config --- .golangci.yml | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .golangci.yml (limited to '.golangci.yml') diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..5429e1a --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,49 @@ +linters-settings: + errcheck: + ignore: fmt:.*,io/ioutil:^Read.*,github.com/caddyserver/caddy/v2/caddyconfig:RegisterAdapter,github.com/caddyserver/caddy/v2:RegisterModule + ignoretests: true + misspell: + locale: US + +linters: + enable: + - bodyclose + - errcheck + - gofmt + - goimports + - gosec + - ineffassign + - misspell + +run: + # default concurrency is a available CPU number. + # concurrency: 4 # explicitly omit this value to fully utilize available resources. + deadline: 5m + issues-exit-code: 1 + tests: false + +# output configuration options +output: + format: 'colored-line-number' + print-issued-lines: true + print-linter-name: true + +issues: + exclude-rules: + # we aren't calling unknown URL + - text: "G107" # G107: Url provided to HTTP request as taint input + linters: + - gosec + # as a web server that's expected to handle any template, this is totally in the hands of the user. + - text: "G203" # G203: Use of unescaped data in HTML templates + linters: + - gosec + # we're shelling out to known commands, not relying on user-defined input. + - text: "G204" # G204: Audit use of command execution + linters: + - gosec + # the choice of weakrand is deliberate, hence the named import "weakrand" + - path: modules/caddyhttp/reverseproxy/selectionpolicies.go + text: "G404" # G404: Insecure random number source (rand) + linters: + - gosec -- cgit v1.2.3