-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
36 lines (26 loc) · 925 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
all: clean build test test-race lint gofumpt docker-image docker-run
APP_NAME := backrunner
GOPATH := $(if $(GOPATH),$(GOPATH),~/go)
VERSION := $(shell git describe --tags --always)
clean:
rm -rf ${APP_NAME} build/
build:
go build -trimpath -ldflags "-X main._BuildVersion=${VERSION}" -v -o ${APP_NAME} cmd/main.go
test:
go test ./...
test-race:
go test -race ./...
lint:
gofmt -d -s .
gofumpt -d -extra .
go vet ./...
staticcheck ./...
golangci-lint run
gofumpt:
gofumpt -l -w -extra .
docker-image:
DOCKER_BUILDKIT=1 docker build --platform linux/amd64 --progress=plain --build-arg VERSION=${VERSION} . -t ${APP_NAME}-${VERSION}:${VERSION}
osx-docker-image:
DOCKER_BUILDKIT=1 docker build --platform linux/arm64 --progress=plain --build-arg APP_NAME=${APP_NAME} --build-arg VERSION=${VERSION} . -t ${APP_NAME}-${VERSION}:latest
docker-run:
docker run --env-file=.env.example backrunner-${VERSION}