Make rules to check for linter and run it (#519)

Explicitly check for the linter version as different versions can return
different results. Currently the desired version is hard-coded, but may
be sourced from the github workflow file in the future.
This commit is contained in:
ashmrtn 2022-08-12 08:46:15 -07:00 committed by GitHub
parent 88bcd053e5
commit 53a0207870
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

24
src/Makefile Normal file
View File

@ -0,0 +1,24 @@
# This must match the version defined in .github/workflows/lint.yaml.
WANTED_LINT_VERSION := 1.45.2
LINT_VERSION := $(shell golangci-lint version | cut -d' ' -f4)
HAS_LINT := $(shell which golangci-lint)
INSTALL_LINT_PAGE := "https://golangci-lint.run/usage/install/"
BAD_LINT_MSG := "Missing golangci-lint version $(WANTED_LINT_VERSION). Visit $(INSTALL_LINT_PAGE) for instructions on how to install"
.PHONY: check-lint check-lint-version lint
lint: check-lint-version
golangci-lint run
check-lint-version: check-lint
@if [ "$(LINT_VERSION)" != "$(WANTED_LINT_VERSION)" ]; then \
echo >&2 $(BAD_LINT_MSG); \
false; \
fi
check-lint:
@if [ -z "$(HAS_LINT)" ]; then \
echo >&2 $(BAD_LINT_MSG); \
false; \
fi