netramesh
/
Makefile
40 строк · 903.0 Байт
1SHELL := /bin/bash -euo pipefail
2TIMEOUT := 1s
3GOFLAGS := -mod=vendor
4PKGS := go list ./... | grep -v pkg/http
5TARGET := netramesh
6
7.PHONY: deps
8deps:
9@go mod tidy && go mod vendor && go mod verify
10
11.PHONY: update
12update:
13@go get -d -mod= -u
14
15
16.PHONY: format
17format:
18@goimports -local golang_org,github.com/Lookyan/netramesh -ungroup -w ./cmd/ ./internal/ ./pkg/
19
20
21.PHONY: test
22test:
23@$(PKGS) | xargs -I {} go test -race -timeout $(TIMEOUT) {}
24
25.PHONY: test-with-coverage
26test-with-coverage:
27@$(PKGS) | xargs -I {} sh -c "go test -cover -timeout $(TIMEOUT) {} | column -t | sort -r"
28
29.PHONY: build
30build:
31for target_os in "darwin" "linux"; do \
32GOOS=$$target_os go build -o ./bin/$(TARGET)_$$target_os ./cmd ;\
33done
34
35.PHONY: docker-build
36docker-build:
37@docker build -f Dockerfile \
38-t netramesh:latest \
39--force-rm --no-cache --pull --rm \
40.
41