GO        ?= go
MODULE    := spark-server
BIN       := bin/spark-server
LINT      ?= golangci-lint
CONFIG    ?= configs/config.yaml

.PHONY: all build test lint fmt vet tidy migrate start run deploy

all: lint test build

build:
	$(GO) build -o $(BIN) ./cmd/server

test:
	$(GO) test ./...

vet:
	$(GO) vet ./...

fmt:
	$(GO) fmt ./...

lint:
	$(LINT) run ./...

tidy:
	$(GO) mod tidy

migrate:
	$(GO) run ./cmd/migrate -config $(CONFIG)

start:
	$(GO) run ./cmd/server -config $(CONFIG)

run: build
	./$(BIN) -config $(CONFIG)

deploy:
	bash deploy/docker/deploy.sh
