.golangci.yml: add golangci-lint config
Update #977
diff --git a/.golangci.yml b/.golangci.yml
new file mode 100644
index 0000000..7abce16
--- /dev/null
+++ b/.golangci.yml
@@ -0,0 +1,62 @@
+# Copyright 2019 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+run:
+ deadline: 8m
+ skip-dirs:
+ - pkg/kd
+ - pkg/ifuzz/gen
+ - sys/akaros/gen
+ - sys/freebsd/gen
+ - sys/fuchsia/gen
+ - sys/linux/gen
+ - sys/netbsd/gen
+ - sys/openbsd/gen
+ - sys/windows/gen
+ - sys/test/gen
+ - sys/trusty/gen
+ skip-files:
+ - "tools/syz-trace2syz/parser/(lex.go|strace.go|straceLex.rl|yaccpar)"
+
+linters:
+ enable:
+ - lll
+ - gofmt
+ - golint
+ - structcheck
+ - megacheck
+ - unconvert
+ - deadcode
+ - goconst
+ - unused
+ - gosimple
+ - varcheck
+ - misspell
+ - gocyclo
+ - vet
+ - vetshadow
+ - megacheck
+ - govet
+ disable:
+ - ineffassign
+ - errcheck
+
+linters-settings:
+ lll:
+ line-length: 120
+ gocyclo:
+ min-complexity: 24
+ dupl:
+ threshold: 60
+
+issues:
+ exclude-use-default: false
+ exclude:
+ - "exported .* should have comment"
+ - "comment on .* should be of the form"
+ - "(sys/.*/init.*|sys/targets/common.go).* don't use ALL_CAPS in Go names"
+ - "declaration of \"err\" shadows"
+ exclude-rules:
+ - path: (pkg/csource/generated.go|pkg/report/linux.go|pkg/build/linux_generated.go)
+ linters:
+ - lll