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