backend-lint.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. function exit_if_fail {
  3. command=$@
  4. echo "Executing '$command'"
  5. eval $command
  6. rc=$?
  7. if [ $rc -ne 0 ]; then
  8. echo "'$command' returned $rc."
  9. exit $rc
  10. fi
  11. }
  12. go get -u github.com/alecthomas/gometalinter
  13. go get -u github.com/jgautheron/goconst/cmd/goconst
  14. go get -u honnef.co/go/tools/cmd/staticcheck
  15. go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
  16. # use gometalinter when lints are not available in golangci or
  17. # when gometalinter is better. Eg. goconst for gometalinter does not lint test files
  18. # which is not desired.
  19. exit_if_fail gometalinter --enable-gc --vendor --deadline 10m --disable-all \
  20. --enable=goconst\
  21. --enable=staticcheck
  22. # use golangci-when possible
  23. exit_if_fail golangci-lint run --deadline 10m --disable-all \
  24. --enable=deadcode\
  25. --enable=gofmt\
  26. --enable=gosimple\
  27. --enable=govet\
  28. --enable=ineffassign\
  29. --enable=structcheck\
  30. --enable=unconvert\
  31. --enable=varcheck
  32. exit_if_fail go vet ./pkg/...
  33. exit_if_fail make revive
  34. exit_if_fail make revive-alerting
  35. exit_if_fail make gosec