main
1PROJECT_NAME := $(shell basename $(shell pwd))
2GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD | sed 's/\//_/g')
3IMAGE_TAG := $(PROJECT_NAME):$(GIT_BRANCH)
4
5.PHONY: clean setup build test run
6
7sparkled:
8 @go build -o sparkled ./cmd/sparkled/main.go
9
10clean:
11 @rm -f sparkled
12
13setup:
14 @mise install
15
16build: sparkled
17
18test:
19 @go clean -testcache
20 @go test -shuffle=on ./...
21
22build-image:
23 @docker build --tag $(IMAGE_TAG) .
24
25build-builder-image:
26 @docker build --target build --tag $(IMAGE_TAG) .
27
28run: build
29 BIND_ADDR=:8080 ./sparkled
30
31run-image: build-image
32 @docker run -it $(IMAGE_TAG)
33
34sh-image: build-builder-image
35 @docker run -it $(IMAGE_TAG) /bin/sh