Vet and lint the Go code in the CI
We've been already performing some static analysis of the Go code in the CI, by running gofmt tool (which checks if the code complies to the formatting standards). But this is not the only tool that can be used to improve the code quality - we can also use go vet (which highlights the places in code which may work different than intended) and we can lint code using Staticcheck tool (which checks if the code complies to the coding conventions). In this PR we add two jobs to the client.yml workflow, which will be used to run those tools. The jobs will be executed in PRs that may affect the client code and also after those PRs get merged to main.
Tip: To install and run staticcheck locally run:
go install honnef.co/go/tools/cmd/staticcheck@latest
staticcheck ./...
Closes: https://github.com/keep-network/keep-core/issues/3178
TODO:
- [ ] add Staticcheck config (?)
- [ ] fix the problems reported by the checks
- [ ] set the
client-lintandclient-vetchecks as required for merging of the PRs tomain