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