Second checkpoint
This commit is contained in:
78
Makefile
Normal file
78
Makefile
Normal file
@@ -0,0 +1,78 @@
|
||||
BINARY := gis
|
||||
PKG := ./cmd/gis
|
||||
BIN_DIR := bin
|
||||
COMPOSE := docker compose -f deployments/docker-compose.yml
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
.PHONY: help
|
||||
help: ## Show this help
|
||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
|
||||
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-16s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
.PHONY: build
|
||||
build: ## Build the binary into ./bin
|
||||
go build -o $(BIN_DIR)/$(BINARY) $(PKG)
|
||||
|
||||
.PHONY: run
|
||||
run: ## Run the HTTP server
|
||||
go run $(PKG) serve
|
||||
|
||||
.PHONY: worker
|
||||
worker: ## Run the RabbitMQ worker
|
||||
go run $(PKG) worker
|
||||
|
||||
.PHONY: test
|
||||
test: ## Run unit tests
|
||||
go test ./...
|
||||
|
||||
.PHONY: cover
|
||||
cover: ## Run tests with coverage summary
|
||||
go test -cover ./...
|
||||
|
||||
.PHONY: vet
|
||||
vet: ## Run go vet
|
||||
go vet ./...
|
||||
|
||||
.PHONY: fmt
|
||||
fmt: ## Format the code
|
||||
gofmt -w cmd internal pkg
|
||||
|
||||
.PHONY: lint
|
||||
lint: ## Run golangci-lint (requires golangci-lint installed)
|
||||
golangci-lint run
|
||||
|
||||
.PHONY: docs
|
||||
docs: ## Regenerate the OpenAPI (Swagger) spec from swag annotations
|
||||
go tool swag init -g cmd/gis/main.go --parseInternal --output docs
|
||||
|
||||
.PHONY: tidy
|
||||
tidy: ## Tidy go.mod / go.sum
|
||||
go mod tidy
|
||||
|
||||
.PHONY: check
|
||||
check: vet test ## Run vet and tests
|
||||
|
||||
.PHONY: migrate-up
|
||||
migrate-up: ## Apply all migrations
|
||||
go run $(PKG) migrate up
|
||||
|
||||
.PHONY: migrate-fresh
|
||||
migrate-fresh: ## Drop the schema and re-apply all migrations
|
||||
go run $(PKG) migrate fresh
|
||||
|
||||
.PHONY: migrate-status
|
||||
migrate-status: ## Show migration status
|
||||
go run $(PKG) migrate status
|
||||
|
||||
.PHONY: up
|
||||
up: ## Start infrastructure (postgres, minio, rabbitmq)
|
||||
$(COMPOSE) up -d postgres minio rabbitmq
|
||||
|
||||
.PHONY: down
|
||||
down: ## Stop infrastructure
|
||||
$(COMPOSE) down
|
||||
|
||||
.PHONY: docker-build
|
||||
docker-build: ## Build the application image
|
||||
docker build -f build/package/Dockerfile -t $(BINARY):latest .
|
||||
Reference in New Issue
Block a user