latest
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing

This commit is contained in:
2022-12-05 14:40:57 +04:00
parent bd4b135e17
commit a9f23c79d2
7 changed files with 80 additions and 39 deletions

View File

@@ -1,8 +1,11 @@
export DOCKER_BUILDKIT := 1
export PROGRESS_NO_TRUNC := 1
GOPATH := $(shell go env GOPATH)
export PATH := $(PATH):$(GOPATH)/bin
PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go
SOURCEFILES := mfer/*.go mfer/*.proto internal/*/*.go cmd/*/*.go go.mod go.sum
ARCH := $(shell uname -m)
GITREV := $(shell git describe --always --dirty=-dirty)
APPNAME := mfer
@@ -12,26 +15,30 @@ GOLDFLAGS += -X main.Version=0.1.0
GOLDFLAGS += -X main.Gitrev=$(GITREV)
GOFLAGS := -ldflags "$(GOLDFLAGS)"
default: test
.PHONY: docker default run ci test fixme
default: fmt test
run: ./mfer.cmd
./$<
./$< gen --ignore-dotfiles
test: fmt
ci: test
test:
go test -v --timeout 3s ./...
$(PROTOC_GEN_GO):
test -e $(PROTOC_GEN_GO) || go install -v google.golang.org/protobuf/cmd/protoc-gen-go@latest
test -e $(PROTOC_GEN_GO) || go install -v google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.1
fixme:
@grep -nir fixme . | grep -v Makefile
devprereqs:
which gofumpt || go install -v mvdan.cc/gofumpt@latest
which golangci-lint || go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@latest
which golangci-lint || go install -v github.com/golangci/golangci-lint/cmd/golangci-lint@v1.50.1
mfer.cmd: mfer/*.go internal/*/*.go cmd/*/*.go
mfer.cmd: $(SOURCEFILES)
protoc --version
cd mfer && go generate .
make test
@@ -40,7 +47,8 @@ mfer.cmd: mfer/*.go internal/*/*.go cmd/*/*.go
clean:
rm -rfv mfer/*.pb.go mfer.cmd cmd/mfer/mfer
fmt: devprereqs
fmt:
devprereqs
gofumpt -l -w mfer internal cmd
golangci-lint run --fix
-prettier -w *.json
@@ -50,9 +58,13 @@ lint:
golangci-lint run
sh -c 'test -z "$$(gofmt -l .)"'
docker:
docker: sneak-mfer.$(ARCH).docker.tzst
sneak-mfer.$(ARCH).docker.tzst: $(SOURCEFILES)
bash -x bin/docker-prereqs.sh
docker build .
docker build --progress plain -t sneak/mfer .
docker save sneak/mfer | pv | zstdmt -19 > $@
du -sh $@
godoc:
open http://127.0.0.1:6060