Add golangci-lint GitHub Action
Created by: tsenart
This PR adds a GitHub Action that runs golangci-lint and reports results back as a PR review using reviewdog. The enabled linters are configured in the .golangci.yml
file, so we can run locally the same thing during development if so wanted.
The enabled linters aren't set in stone, but I think are a useful initial choice — we can enable and disable some as we learn more about their usefulness with practice.
Review dog
Fixes #9193