commit
						7a6b9e3042
					
				|  | @ -46,9 +46,7 @@ jobs: | |||
|       working-directory: ./src/github.com/distribution/distribution | ||||
|       run: | | ||||
|         DCO_VERBOSITY=-q script/validate/dco | ||||
|         GO111MODULE=on script/setup/install-dev-tools | ||||
|         go build -i . | ||||
|         make check | ||||
|         make build | ||||
|         make binaries | ||||
|         if [ "$GOOS" = "linux" ]; then make coverage ; fi | ||||
|  |  | |||
|  | @ -18,6 +18,7 @@ jobs: | |||
|       fail-fast: false | ||||
|       matrix: | ||||
|         target: | ||||
|           - lint | ||||
|           - validate-vendor | ||||
|     steps: | ||||
|       - | ||||
|  |  | |||
							
								
								
									
										16
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										16
									
								
								Makefile
								
								
								
								
							|  | @ -38,7 +38,7 @@ BINARIES=$(addprefix bin/,$(COMMANDS)) | |||
| TESTFLAGS ?= -v $(TESTFLAGS_RACE) | ||||
| TESTFLAGS_PARALLEL ?= 8 | ||||
| 
 | ||||
| .PHONY: all build binaries check clean test test-race test-full integration coverage validate-vendor vendor mod-outdated | ||||
| .PHONY: all build binaries clean test test-race test-full integration coverage validate lint validate-vendor vendor mod-outdated | ||||
| .DEFAULT: all | ||||
| 
 | ||||
| all: binaries | ||||
|  | @ -48,10 +48,6 @@ version/version.go: | |||
| 	@echo "$(WHALE) $@" | ||||
| 	./version/version.sh > $@ | ||||
| 
 | ||||
| check: ## run all linters (TODO: enable "unused", "varcheck", "ineffassign", "unconvert", "staticheck", "goimports", "structcheck")
 | ||||
| 	@echo "$(WHALE) $@" | ||||
| 	@golangci-lint run | ||||
| 
 | ||||
| test: ## run tests, except integration test with test.short
 | ||||
| 	@echo "$(WHALE) $@" | ||||
| 	@go test ${GO_TAGS} -test.short ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}) | ||||
|  | @ -101,8 +97,14 @@ clean: ## clean up binaries | |||
| 	@echo "$(WHALE) $@" | ||||
| 	@rm -f $(BINARIES) | ||||
| 
 | ||||
| validate: ## run all validators
 | ||||
| 	docker buildx bake $@ | ||||
| 
 | ||||
| lint: ## run all linters
 | ||||
| 	docker buildx bake $@ | ||||
| 
 | ||||
| validate-vendor: ## validate vendor
 | ||||
| 	docker buildx bake validate-vendor | ||||
| 	docker buildx bake $@ | ||||
| 
 | ||||
| vendor: ## update vendor
 | ||||
| 	$(eval $@_TMP_OUT := $(shell mktemp -d -t buildx-output.XXXXXXXXXX)) | ||||
|  | @ -112,4 +114,4 @@ vendor: ## update vendor | |||
| 	rm -rf $($@_TMP_OUT)/* | ||||
| 
 | ||||
| mod-outdated: ## check outdated dependencies
 | ||||
| 	docker buildx bake mod-outdated | ||||
| 	docker buildx bake $@ | ||||
|  |  | |||
|  | @ -3,7 +3,12 @@ group "default" { | |||
| } | ||||
| 
 | ||||
| group "validate" { | ||||
|   targets = ["validate-vendor"] | ||||
|   targets = ["lint", "validate-vendor"] | ||||
| } | ||||
| 
 | ||||
| target "lint" { | ||||
|   dockerfile = "./dockerfiles/lint.Dockerfile" | ||||
|   output = ["type=cacheonly"] | ||||
| } | ||||
| 
 | ||||
| target "validate-vendor" { | ||||
|  |  | |||
|  | @ -0,0 +1,16 @@ | |||
| # syntax=docker/dockerfile:1 | ||||
| 
 | ||||
| ARG GO_VERSION=1.17 | ||||
| ARG GOLANGCI_LINT_VERSION=v1.44 | ||||
| 
 | ||||
| FROM golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine AS golangci-lint | ||||
| 
 | ||||
| FROM golang:${GO_VERSION}-alpine AS base | ||||
| RUN apk add --no-cache gcc musl-dev | ||||
| WORKDIR /src | ||||
| 
 | ||||
| FROM base | ||||
| RUN --mount=type=bind,target=. \ | ||||
|   --mount=type=cache,target=/root/.cache \ | ||||
|   --mount=from=golangci-lint,source=/usr/bin/golangci-lint,target=/usr/bin/golangci-lint \ | ||||
|   golangci-lint run | ||||
|  | @ -1,15 +0,0 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| GOLANGCI_LINT_VERSION="v1.44.0" | ||||
| 
 | ||||
| # | ||||
| # Install developer tools to $GOBIN (or $GOPATH/bin if unset) | ||||
| # | ||||
| set -eu -o pipefail | ||||
| 
 | ||||
| # Enable Go modules | ||||
| export GO111MODULE=on | ||||
| 
 | ||||
| # prevent updating go.mod of the project | ||||
| cd /tmp | ||||
| go get "github.com/golangci/golangci-lint/cmd/golangci-lint@${GOLANGCI_LINT_VERSION}" | ||||
		Loading…
	
		Reference in New Issue