40 lines
1.1 KiB
Makefile
40 lines
1.1 KiB
Makefile
DATABASE_URL ?= postgres://descrybe:descrybe@localhost:5433/descrybe?sslmode=disable
|
|
GOOSE ?= go run github.com/pressly/goose/v3/cmd/goose@v3.24.1
|
|
SQLC ?= go run github.com/sqlc-dev/sqlc/cmd/sqlc@v1.29.0
|
|
|
|
.PHONY: migrate-up sqlc run worker migrator tidy test vet build build-lowmem
|
|
|
|
# Low-RAM compile defaults (~4GB hosts): one package at a time, capped GOMAXPROCS.
|
|
GO_BUILD_P ?= 1
|
|
GO_BIN_DIR ?= ../../bin
|
|
|
|
migrate-up:
|
|
$(GOOSE) -dir sql/schema postgres "$(DATABASE_URL)" up
|
|
|
|
sqlc:
|
|
$(SQLC) generate
|
|
|
|
run:
|
|
go run ./cmd/api
|
|
|
|
worker:
|
|
go run ./cmd/worker
|
|
|
|
migrator:
|
|
go run ./cmd/migrator -mysql "$(MIGRATE_MYSQL_DSN)" -postgres "$(DATABASE_URL)"
|
|
|
|
tidy:
|
|
go mod tidy
|
|
|
|
test:
|
|
go test ./...
|
|
|
|
vet:
|
|
go vet ./...
|
|
|
|
# Sequential api + worker binaries into repo bin/ (see scripts/build.mjs).
|
|
build build-lowmem:
|
|
mkdir -p "$(GO_BIN_DIR)"
|
|
GOMAXPROCS=1 GOMEMLIMIT=768MiB GOGC=50 go build -p=$(GO_BUILD_P) -trimpath -ldflags="-s -w" -o "$(GO_BIN_DIR)/api" ./cmd/api
|
|
GOMAXPROCS=1 GOMEMLIMIT=768MiB GOGC=50 go build -p=$(GO_BUILD_P) -trimpath -ldflags="-s -w" -o "$(GO_BIN_DIR)/worker" ./cmd/worker
|