42 lines
880 B
Makefile
42 lines
880 B
Makefile
.PHONY: all swagger install postgres test test-ci \
|
|
docker docker-quiet docker-clean
|
|
|
|
SWAG ?= go run github.com/swaggo/swag/cmd/swag@v1.16.4
|
|
DOCKER ?= docker
|
|
|
|
GO_ENV += CGO_ENABLED=0
|
|
SOURCE := $(shell find . -type f -name '*.go')
|
|
TARGET := backend
|
|
|
|
all: swagger docker
|
|
|
|
swagger:
|
|
$(SWAG) fmt
|
|
$(SWAG) init -o docs -g cmds/serve.go -pdl 1
|
|
|
|
docker: $(TARGET)
|
|
$(DOCKER) compose up -d --force-recreate --build backend
|
|
|
|
$(TARGET): $(SOURCE)
|
|
$(GO_ENV) go build -o $@
|
|
|
|
install:
|
|
$(GO_ENV) go install
|
|
|
|
test:
|
|
go test -v ./tests -count=1 -failfast
|
|
|
|
postgres:
|
|
$(DOCKER) compose exec postgres psql \
|
|
postgres://go2025:go2025@postgres:5432/go2025?sslmode=disable
|
|
|
|
test-ci: docker-quiet test docker-clean
|
|
|
|
docker-quiet: $(TARGET)
|
|
$(DOCKER) compose up -d --force-recreate --build backend \
|
|
--quiet-build --quiet-pull
|
|
sleep 5
|
|
|
|
docker-clean:
|
|
$(DOCKER) compose down -v --remove-orphans
|