`make lint` fails on the Telegraf master branch

I’m trying to contribute a plugin, but the very first step of the “Before opening a PR” checklist doesn’t work on the unmodified code:

git clone --depth=1 https://github.com/influxdata/telegraf.git && cd telegraf && make lint

Output:

Cloning into 'telegraf'...
remote: Enumerating objects: 6379, done.
remote: Counting objects: 100% (6379/6379), done.
remote: Compressing objects: 100% (4917/4917), done.
remote: Total 6379 (delta 1187), reused 4233 (delta 1107), pack-reused 0 (from 0)
Receiving objects: 100% (6379/6379), 7.48 MiB | 3.29 MiB/s, done.
Resolving deltas: 100% (1187/1187), done.
golangci-lint run
ERRO Can't read config: can't unmarshal config by viper: 1 error(s) decoding:

* 'Version' expected a map, got 'string' 
make: *** [Makefile:191: lint] Error 3

Any idea? The CI is all green on GitHub, so it must be an issue on my side.

Try using an older version of golangci-lint
I’m currently running v2.1.2.
You can check your version with:

golangci-lint --version

To make sure you have what we expect you can run make lint-install.

1 Like