diff --git a/.github/workflows/pr-golangci-lint.yaml b/.github/workflows/pr-golangci-lint.yaml new file mode 100644 index 000000000000..16183788866a --- /dev/null +++ b/.github/workflows/pr-golangci-lint.yaml @@ -0,0 +1,34 @@ +name: PR golangci-lint + +on: + pull_request: + types: [opened, edited, synchronize, reopened] + +# Remove all permissions from GITHUB_TOKEN except metadata. +permissions: {} + +jobs: + golangci: + name: lint + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + working-directory: + - "" + - test + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag=v4.1.7 + - name: Calculate go version + id: vars + run: echo "go_version=$(make go-version)" >> $GITHUB_OUTPUT + - name: Set up Go + uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # tag=v5.0.2 + with: + go-version: ${{ steps.vars.outputs.go_version }} + - name: golangci-lint + uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # tag=v6.1.0 + with: + version: v1.60.2 + args: --out-format=colored-line-number --timeout=10m + working-directory: ${{matrix.working-directory}} diff --git a/Makefile b/Makefile index 765dae7f5500..a51f2201cb33 100644 --- a/Makefile +++ b/Makefile @@ -82,7 +82,7 @@ ENVSUBST_VER := $(shell go list -m -f '{{.Version}}' github.com/drone/envsubst/v ENVSUBST_BIN := envsubst ENVSUBST := $(TOOLS_BIN_DIR)/$(ENVSUBST_BIN)-$(ENVSUBST_VER) -GOLANGCI_LINT_VER := v1.60.2 +GOLANGCI_LINT_VER := $(shell cat .github/workflows/pr-golangci-lint.yaml | grep [[:space:]]version: | sed 's/.*version: //') GOLANGCI_LINT_BIN := golangci-lint GOLANGCI_LINT := $(TOOLS_BIN_DIR)/$(GOLANGCI_LINT_BIN)-$(GOLANGCI_LINT_VER) @@ -684,7 +684,7 @@ promote-images: $(KPROMO) ## Promote images. ##@ Testing: .PHONY: test -test: generate lint go-test-race ## Run "generate", "lint" and "go-test-race" rules. +test: generate go-test-race ## Run "generate" and "go-test-race" rules. .PHONY: go-test-race go-test-race: TEST_ARGS+= -race