digitalocean / clusterlint

A best practices checker for Kubernetes clusters. 🤠
Apache License 2.0
547 stars 45 forks source link

Update dependencies to fix crash on Go 1.17 #126

Closed timoreimann closed 3 years ago

timoreimann commented 3 years ago

When running clusterlint on Go 1.17, it panics right on startup. The issue is our usage of github.com/mattn/go-isatty (consumed by github.com/fatih/color) which had a bug until mattn/go-isatty#66. Updating to the latest v0.0.14 release fixes the issue.

Also bump the minimum (library) dependency to 1.16 in go.mod since that is the oldest, officially supported Go version. Bumping to 1.17 actually enables us to fix the issue by simply updating to the latest github.com/fatih/color, as opposed to adding an indirect import of github.com/mattn/go-isatty which this change does right now (which I suppose works due to Go 1.17 module management improvements); however, that'd come at the price of breaking compatibility with 1.16 users which is non-ideal. Regardless, update github.com/fatih/color as well while we're here.

Also bump the version of the Go image used for testing and add a quick smoke-test that invokes the built binary.

Fixes #125