I recently came across a bug where specifying `go-version: '1.20'` used Go 1.2, not 1.20. It was not clear from the readme that to avoid this, the Go version should be written inside single quotes (as per this comment: https://github.com/actions/setup-go/issues/326#issuecomment-1415719692) but the single quotes are missing from the example in this repository. This PR fixes this.
* Update all direct dependencies
* use node v16
* upgrade typescript to v4.5.5
* upgrade actions/github to v5
* use vercel/ncc v0.33.3
* Add compatibility note for v3
* increase timeout for the testing workflow
#98 was closed by #101, but the README still says that only a major-minor version is accepted. It also says that this field is required, but `action.yml` says otherwise. Copy the description from `action.yml` into the README for consistency.
Add option to skip caching the Go package directory (~/go/pkg).
Add option to skip caching the Go build directory (~/.cache/go-build).
Update README to mention new options.
* Add instructions for multi-os linting
Added a matrix to show how to do multi-os lint builds. This is specifically needed if you have files like `_darwin.go` or `_windows.go`, etc. If you don't lint on that specific OS, then those files will NOT be linted.
I also added a note about `.gitattributes` needing to have the line endings correctly checked out, otherwise linting will fail for formatting as well.