github.com/grafana/synthetic-monitoring-agent@v0.64.2/scripts/make/500_linters.mk (about) 1 ##@ Linting 2 3 SH_FILES ?= $(shell $(ROOTDIR)/scripts/list-sh-scripts) 4 BASH_FILES ?= $(shell $(ROOTDIR)/scripts/list-sh-scripts -sbash) 5 6 ifeq ($(CI),true) 7 GOLANGCI_LINT ?= golangci-lint 8 SHELLCHECK ?= shellcheck 9 endif 10 11 ifeq ($(origin GOLANGCI_LINT),undefined) 12 GOLANGCI_LINT ?= ./scripts/docker-run golangci-lint 13 endif 14 15 ifeq ($(origin SHELLCHECK),undefined) 16 SHELLCHECK ?= ./scripts/docker-run shellcheck 17 endif 18 19 .PHONY: lint 20 lint: ## Run all code checks. 21 $(S) true 22 23 .PHONY: lint-go 24 lint: lint-go 25 lint-go: go-vet golangci-lint ## Run all Go code checks. 26 27 ifneq ($(strip $(V)),) 28 GOLANGCI_LINT_EXTRA_FLAGS := --verbose 29 endif 30 31 .PHONY: golangci-lint 32 golangci-lint: 33 $(S) echo "lint via golangci-lint" 34 $(S) $(GOLANGCI_LINT) run \ 35 $(GOLANGCI_LINT_MOD_FLAGS) \ 36 --config '$(ROOTDIR)/.golangci.yaml' \ 37 $(GOLANGCI_LINT_EXTRA_FLAGS) \ 38 $(GO_PKGS) 39 40 .PHONY: go-vet 41 go-vet: 42 $(S) echo "lint via go vet" 43 $(S) $(GO) vet $(GO_BUILD_MOD_FLAGS) $(GO_PKGS) 44 45 .PHONY: lint-sh 46 lint: lint-sh 47 lint-sh: ## Run all shell code checks. 48 $(S) echo "lint via shellcheck" 49 $(S) if test -n "$(SH_FILES)" ; then $(SHELLCHECK) -a --color=auto --shell=sh $(SH_FILES) ; fi 50 $(S) if test -n "$(BASH_FILES)" ; then $(SHELLCHECK) -a --color=auto --shell=bash $(BASH_FILES) ; fi