diff --git a/.github/workflows/make.yaml b/.github/workflows/make.yaml index bd8900695..d2c583736 100644 --- a/.github/workflows/make.yaml +++ b/.github/workflows/make.yaml @@ -153,6 +153,8 @@ jobs: name: "build-artifacts" - run: "chmod +x bin/probod" - run: "make generate" + - run: "make go-fmt" + - run: "make go-fix" - name: "Run go vet" run: "go vet ./..." - name: "Run golangci-lint" diff --git a/GNUmakefile b/GNUmakefile index ecc1cf9a4..bf96dd600 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -59,7 +59,7 @@ endif all: build .PHONY: lint -lint: vet go-lint npm-lint +lint: vet go-fmt go-fix go-lint npm-lint .PHONY: vet vet: generate apps/console/dist/index.html apps/trust/dist/index.html @probo/emails @@ -69,6 +69,24 @@ vet: generate apps/console/dist/index.html apps/trust/dist/index.html @probo/ema npm-lint: $(NPM) run lint +.PHONY: go-fmt +go-fmt: generate + @output="$$(gofmt -l cmd pkg e2e)"; \ + if [ -n "$$output" ]; then \ + echo "error: 'gofmt' found unformatted files:"; \ + echo "$$output"; \ + exit 1; \ + fi + +.PHONY: go-fix +go-fix: generate + @output="$$($(GO_BASE) fix -diff ./cmd/... ./pkg/... ./e2e/...)"; \ + if [ -n "$$output" ]; then \ + echo "error: 'go fix' suggests changes; please apply them"; \ + echo "$$output"; \ + exit 1; \ + fi + .PHONY: go-lint go-lint: generate $(GOLINTCMD) run ./...