check / check (push) Failing after 2s
The Go format check ran plain gofmt, which accepts code that gofumpt, the formatter script/fmt runs, rewrites; and the two covered different files. Both now go through script/gofumpt, which runs one pinned gofumpt version over every Go file in --write or --check mode, as script/prettier does for Markdown. It replaces script/fmt-check-go; make fmt-check-go and the Docker lint stage call it. go run builds the pinned version, so nothing has to install gofumpt, and the check fails when gofumpt cannot run instead of passing. Generated mfer/mf.pb.go passes: gofumpt holds generated files to gofmt's rules. The check is not redundant: .golangci.yml enables no golangci-lint formatters. Model: opus-5-5
97 lines
2.0 KiB
Makefile
97 lines
2.0 KiB
Makefile
export DOCKER_BUILDKIT := 1
|
|
export PROGRESS_NO_TRUNC := 1
|
|
GOPATH := $(shell go env GOPATH)
|
|
export PATH := $(PATH):$(GOPATH)/bin
|
|
SOURCEFILES := mfer/*.go mfer/*.proto internal/*/*.go cmd/*/*.go go.mod go.sum
|
|
ARCH := $(shell uname -m)
|
|
GITREV_BUILD := $(shell bash $(PWD)/bin/gitrev.sh 2>/dev/null || echo unknown)
|
|
APPNAME := mfer
|
|
VERSION := 0.1.0
|
|
export DOCKER_IMAGE_CACHE_DIR := $(HOME)/Library/Caches/Docker/$(APPNAME)-$(ARCH)
|
|
GOLDFLAGS += -X main.Version=$(VERSION)
|
|
GOLDFLAGS += -X main.Gitrev=$(GITREV_BUILD)
|
|
GOFLAGS := -ldflags "$(GOLDFLAGS)"
|
|
|
|
.PHONY: bootstrap setup docker default run ci test fuzz check lint fmt fmt-check fmt-check-go fmt-check-md hooks fixme generate
|
|
|
|
default: fmt test
|
|
|
|
bootstrap:
|
|
@script/bootstrap
|
|
|
|
setup:
|
|
@script/setup
|
|
|
|
run: ./bin/mfer
|
|
./$<
|
|
./$< gen
|
|
|
|
ci: test
|
|
|
|
test:
|
|
@script/test
|
|
|
|
fuzz:
|
|
@script/fuzz
|
|
|
|
fixme:
|
|
@grep -nir fixme . | grep -v Makefile
|
|
|
|
check:
|
|
@script/check
|
|
|
|
fmt-check:
|
|
@script/fmt-check
|
|
|
|
# Halves of fmt-check, for environments that have only one toolchain:
|
|
# the Docker lint stage has Go but no node, the markdown stage the reverse.
|
|
fmt-check-go:
|
|
@script/gofumpt --check
|
|
|
|
fmt-check-md:
|
|
@script/prettier --check
|
|
|
|
hooks:
|
|
@script/install-precommit
|
|
|
|
generate:
|
|
@script/generate
|
|
|
|
bin/mfer: $(SOURCEFILES)
|
|
cd cmd/mfer && go build -tags urfave_cli_no_docs -o ../../bin/mfer $(GOFLAGS) .
|
|
|
|
clean:
|
|
rm -rfv bin/mfer cmd/mfer/mfer *.dockerimage
|
|
|
|
fmt:
|
|
@script/fmt
|
|
|
|
lint:
|
|
@script/lint
|
|
|
|
docker:
|
|
@script/docker
|
|
|
|
sneak-mfer.$(ARCH).tzst.dockerimage: $(SOURCEFILES) vendor.tzst modcache.tzst
|
|
docker build --progress plain --build-arg GITREV=$(GITREV_BUILD) -t sneak/mfer .
|
|
docker save sneak/mfer | pv | zstdmt -19 > $@
|
|
du -sh $@
|
|
|
|
godoc:
|
|
open http://127.0.0.1:6060
|
|
godoc -http=:6060
|
|
|
|
vendor.tzst: go.mod go.sum
|
|
go mod tidy
|
|
go mod vendor
|
|
cd vendor && tar -c . | pv | zstdmt -19 > $(PWD)/$@.tmp
|
|
rm -rf vendor
|
|
mv $@.tmp $@
|
|
|
|
modcache.tzst: go.mod go.sum
|
|
go mod tidy
|
|
cd $(HOME)/go/pkg && chmod -R u+rw . && rm -rf mod sumdb
|
|
go mod download -x
|
|
cd $(shell go env GOMODCACHE) && tar -c . | pv | zstdmt -19 > $(PWD)/$@.tmp
|
|
mv $@.tmp $@
|