binary := "huntsman"
version := `git describe --tags --always 2>/dev/null || echo dev`
commit := `git rev-parse --short HEAD 2>/dev/null || echo none`
date := `date -u +%Y-%m-%dT%H:%M:%SZ`
ldflags := "-X main.version=" + version + " -X main.commit=" + commit + " -X main.date=" + date
default:
@just --list
build:
go build -ldflags "{{ldflags}}" -o {{binary}} ./cmd/server
run: build
./{{binary}} -config config.yaml
dev:
go run ./cmd/server -config config.yaml
test:
go test -race ./...
lint:
golangci-lint run ./...
fmt:
gofmt -s -w .
goimports -w .
tidy:
go mod tidy
docker-build:
docker build -t {{binary}}:{{version}} .
docker-run:
docker compose up -d --build
docker-stop:
docker compose down