2018-06-18 22:57:21 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
echo "Checking code quality (you want to see no output here)"
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
echo "Linting:"
|
|
|
|
|
2021-11-17 23:59:52 +00:00
|
|
|
staticcheck ./...
|
2018-06-29 19:20:07 +00:00
|
|
|
|
2023-11-18 19:49:52 +00:00
|
|
|
# In the future we should enable this by default. However, there are a few false positives that make this
|
|
|
|
# too noisy right now, specifically assigning nil to initialize slices (safe), and using go internal context channels assigned
|
|
|
|
# nil (also safe).
|
|
|
|
# We also have one file infinite_channel.go written in a way that static analysis cannot reason about easily. So it is explictly
|
|
|
|
# ignored.
|
|
|
|
# nilaway -exclude-file-docstrings="nolint:nilaway" ./...
|
2018-06-29 19:20:07 +00:00
|
|
|
|
|
|
|
echo "Time to format"
|
|
|
|
gofmt -l -s -w .
|
2019-01-28 20:09:25 +00:00
|
|
|
|
|
|
|
# ineffassign (https://github.com/gordonklaus/ineffassign)
|
|
|
|
echo "Checking for ineffectual assignment of errors (unchecked errors...)"
|
2022-04-14 20:18:08 +00:00
|
|
|
ineffassign ./..
|
2019-01-28 20:09:25 +00:00
|
|
|
|
2019-01-29 20:56:59 +00:00
|
|
|
# misspell (https://github.com/client9/misspell/cmd/misspell)
|
2019-01-28 20:09:25 +00:00
|
|
|
echo "Checking for misspelled words..."
|
2021-11-17 23:59:52 +00:00
|
|
|
misspell . | grep -v "testing/" | grep -v "vendor/" | grep -v "go.sum" | grep -v ".idea"
|