Commit 490515ae by Carl Bergquist Committed by GitHub

build: partially replace gometalinter with golangci-lint (#16610)

we still use gometalinter for goconst since it doesn't 
report errors for duplicated in test files
parent 406ef962
...@@ -164,7 +164,7 @@ func tryGetEncryptedCookie(ctx *m.ReqContext, cookieName string) (string, bool) ...@@ -164,7 +164,7 @@ func tryGetEncryptedCookie(ctx *m.ReqContext, cookieName string) (string, bool)
return "", false return "", false
} }
decryptedError, err := util.Decrypt([]byte(decoded), setting.SecretKey) decryptedError, err := util.Decrypt(decoded, setting.SecretKey)
return string(decryptedError), err == nil return string(decryptedError), err == nil
} }
......
...@@ -66,7 +66,8 @@ func TestSecondSet(t *testing.T) { ...@@ -66,7 +66,8 @@ func TestSecondSet(t *testing.T) {
obj := &CacheableStruct{String: "hey!"} obj := &CacheableStruct{String: "hey!"}
err = db.Set("killa-gorilla", obj, 0) err = db.Set("killa-gorilla", obj, 0)
err = db.Set("killa-gorilla", obj, 0) assert.Equal(t, err, nil)
err = db.Set("killa-gorilla", obj, 0)
assert.Equal(t, err, nil) assert.Equal(t, err, nil)
} }
...@@ -64,6 +64,7 @@ func canPutGetAndDeleteCachedObjects(t *testing.T, client CacheStorage) { ...@@ -64,6 +64,7 @@ func canPutGetAndDeleteCachedObjects(t *testing.T, client CacheStorage) {
assert.Equal(t, err, nil, "expected nil. got: ", err) assert.Equal(t, err, nil, "expected nil. got: ", err)
data, err := client.Get("key1") data, err := client.Get("key1")
assert.Equal(t, err, nil)
s, ok := data.(CacheableStruct) s, ok := data.(CacheableStruct)
assert.Equal(t, ok, true) assert.Equal(t, ok, true)
......
...@@ -149,7 +149,7 @@ func (s *UserAuthTokenService) TryRotateToken(token *models.UserToken, clientIP, ...@@ -149,7 +149,7 @@ func (s *UserAuthTokenService) TryRotateToken(token *models.UserToken, clientIP,
now := getTime() now := getTime()
needsRotation := false var needsRotation bool
rotatedAt := time.Unix(model.RotatedAt, 0) rotatedAt := time.Unix(model.RotatedAt, 0)
if model.AuthTokenSeen { if model.AuthTokenSeen {
needsRotation = rotatedAt.Before(now.Add(-time.Duration(s.Cfg.TokenRotationIntervalMinutes) * time.Minute)) needsRotation = rotatedAt.Before(now.Add(-time.Duration(s.Cfg.TokenRotationIntervalMinutes) * time.Minute))
......
...@@ -48,7 +48,7 @@ func (qs *QuotaService) QuotaReached(c *m.ReqContext, target string) (bool, erro ...@@ -48,7 +48,7 @@ func (qs *QuotaService) QuotaReached(c *m.ReqContext, target string) (bool, erro
return false, err return false, err
} }
if int64(usedSessions) > scope.DefaultLimit { if usedSessions > scope.DefaultLimit {
c.Logger.Debug("Sessions limit reached", "active", usedSessions, "limit", scope.DefaultLimit) c.Logger.Debug("Sessions limit reached", "active", usedSessions, "limit", scope.DefaultLimit)
return true, nil return true, nil
} }
......
#!/bin/bash #!/bin/bash
function exit_if_fail { function exit_if_fail {
command=$@ command=$@
echo "Executing '$command'" echo "Executing '$command'"
eval $command eval $command
rc=$? rc=$?
if [ $rc -ne 0 ]; then if [ $rc -ne 0 ]; then
echo "'$command' returned $rc." echo "'$command' returned $rc."
exit $rc exit $rc
fi fi
} }
go get -u github.com/alecthomas/gometalinter go get -u github.com/alecthomas/gometalinter
go get -u github.com/tsenart/deadcode
go get -u github.com/jgautheron/goconst/cmd/goconst go get -u github.com/jgautheron/goconst/cmd/goconst
go get -u github.com/gordonklaus/ineffassign
go get -u github.com/opennota/check/cmd/structcheck
go get -u github.com/mdempsky/unconvert
go get -u github.com/opennota/check/cmd/varcheck
go get -u honnef.co/go/tools/cmd/staticcheck go get -u honnef.co/go/tools/cmd/staticcheck
go get -u github.com/mgechev/revive go get -u github.com/mgechev/revive
go get -u github.com/securego/gosec/cmd/gosec/... go get -u github.com/securego/gosec/cmd/gosec/...
go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
# use gometalinter when lints are not available in golangci or
# when gometalinter is better. Eg. goconst for gometalinter does not lint test files
# which is not desired.
exit_if_fail gometalinter --enable-gc --vendor --deadline 10m --disable-all \ exit_if_fail gometalinter --enable-gc --vendor --deadline 10m --disable-all \
--enable=deadcode \ --enable=goconst\
--enable=goconst \
--enable=gofmt \
--enable=ineffassign \
--enable=structcheck \
--enable=unconvert \
--enable=varcheck \
--enable=staticcheck --enable=staticcheck
# use golangci-when possible
exit_if_fail golangci-lint run --deadline 10m --disable-all \
--enable=deadcode\
--enable=gofmt\
--enable=ineffassign\
--enable=structcheck\
--enable=unconvert\
--enable=varcheck
exit_if_fail go vet ./pkg/... exit_if_fail go vet ./pkg/...
exit_if_fail revive -formatter stylish -config ./conf/revive.toml
exit_if_fail revive -formatter stylish -config ./scripts/revive.toml
# TODO recheck the rules and leave only necessary exclusions # TODO recheck the rules and leave only necessary exclusions
exit_if_fail gosec -quiet -exclude=G104,G107,G201,G202,G204,G301,G302,G304,G402,G501,G505,G401 ./pkg/... exit_if_fail gosec -quiet -exclude=G104,G107,G201,G202,G204,G301,G302,G304,G402,G501,G505,G401 ./pkg/...
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment