.PHONY: migrate run prod grant-admin fmt vet check

migrate:
	go run migrations/auto.go

run:
	go run cmd/main.go

prod:
	go build cmd/main.go
	./main.exe

# Promote a registered user to ADMIN: make grant-admin EMAIL=you@example.com
grant-admin:
	go run ./cmd/grantadmin $(EMAIL)

fmt:
	gofmt -w .

vet:
	go vet ./...

# What CI should run. gofmt -l prints unformatted files; the test turns that
# list into a failure, since gofmt itself always exits 0.
check:
	@test -z "$$(gofmt -l . )" || (gofmt -l . && echo "run: make fmt" && exit 1)
	go vet ./...
	go test ./...
