From 0ad7d15df47d1c63be7bfa21d73845393e11d769 Mon Sep 17 00:00:00 2001 From: Navid Yaghoobi Date: Sat, 2 Jul 2022 19:12:42 +1000 Subject: [PATCH] adding golangci configuration Signed-off-by: Navid Yaghoobi --- .gitignore | 1 + .golangci.yml | 16 ++++++++++++++++ hack/install_golangci.sh | 23 +++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 .golangci.yml create mode 100755 hack/install_golangci.sh diff --git a/.gitignore b/.gitignore index c37a1b1..23d53a5 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ *.so *.dylib .vscode/* +bin/* # Test binary, built with `go test -c` *.test diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 0000000..406f34d --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,16 @@ +run: + deadline: 5m +linters: + enable-all: true + disable: + - golint + - maligned + - interfacer + - scopelint + - exhaustivestruct +linters-settings: + errcheck: + check-blank: false + ignore: fmt:.* + nolintlint: + require-specific: true diff --git a/hack/install_golangci.sh b/hack/install_golangci.sh new file mode 100755 index 0000000..9bf75ef --- /dev/null +++ b/hack/install_golangci.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# code from: https://raw.githubusercontent.com/containers/podman/main/hack/install_golangci.sh +die() { echo "${1:-No error message given} (from $(basename $0))"; exit 1; } + +[ -n "$VERSION" ] || die "\$VERSION is empty or undefined" + +function install() { + echo "Installing golangci-lint v$VERSION into $BIN" + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v$VERSION +} + +BIN="./bin/golangci-lint" +if [ ! -x "$BIN" ]; then + install +else + # Prints its own file name as part of --version output + $BIN --version | grep "$VERSION" + if [ $? -eq 0 ]; then + echo "Using existing $(dirname $BIN)/$($BIN --version)" + else + install + fi +fi