--- /dev/null
+name: golangci-lint
+on:
+ push:
+ paths:
+ - "go.sum"
+ - "go.mod"
+ - "**.go"
+ - "scripts/errcheck_excludes.txt"
+ - ".github/workflows/golangci-lint.yml"
+ pull_request:
+ paths:
+ - "go.sum"
+ - "go.mod"
+ - "**.go"
+ - "scripts/errcheck_excludes.txt"
+ - ".github/workflows/golangci-lint.yml"
+
+jobs:
+ golangci:
+ name: lint
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+
+ - name: Lint
+ uses: golangci/golangci-lint-action@v2
+ with:
+ version: v1.42.0
GOLANGCI_LINT :=
GOLANGCI_LINT_OPTS ?=
-GOLANGCI_LINT_VERSION ?= v1.39.0
+GOLANGCI_LINT_VERSION ?= v1.42.0
# golangci-lint only supports linux, darwin and windows platforms on i386/amd64.
# windows isn't included here because of the path separator being different.
ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin))
ifeq ($(GOHOSTARCH),$(filter $(GOHOSTARCH),amd64 i386))
- GOLANGCI_LINT := $(FIRST_GOPATH)/bin/golangci-lint
+ # If we're in CI and there is an Actions file, that means the linter
+ # is being run in Actions, so we don't need to run it here.
+ ifeq (,$(CIRCLE_JOB))
+ GOLANGCI_LINT := $(FIRST_GOPATH)/bin/golangci-lint
+ else ifeq (,$(wildcard .github/workflows/golangci-lint.yml))
+ GOLANGCI_LINT := $(FIRST_GOPATH)/bin/golangci-lint
+ endif
endif
endif