canape/Makefile

52 lines
1.3 KiB
Makefile

.PHONY: docker migration dev clean test build_docker_image
DB_USER=test
DB_PASS=test
DB_DSN_DEV=postgres://$(DB_USER):$(DB_PASS)@127.0.0.1:5432/dev?sslmode=disable
DB_DSN_TEST=postgres://$(DB_USER):$(DB_PASS)@127.0.0.1:5432/test?sslmode=disable
MIGRATION=migrate -url '$(DB_DSN_DEV)'
MIGRATION_SCHEMA=./sql/migration
MIGRATION_TEST_DATA=./sql/dev
DOCKER_COMPOSE_FILE=./docker/docker-compose.yml
DOCKER_COMPOSE=docker-compose -f $(DOCKER_COMPOSE_FILE)
build-prepare:
mkdir -p ./build/public/img/movies
build: build-prepare
go build -o ./build/canape src/main.go
watch-go: build-prepare
CONFIG_FILE="./config.yml" fresh -c fresh.conf
docker:
$(DOCKER_COMPOSE) up -d
sleep 8
build_docker_image:
rm -rf canapeapp
mkdir canapeapp
yarn build
CGO_ENABLED=0 go build -v -o canapeapp/app src/main.go
docker build --tag canapeapp:latest --file docker/Dockerfile-production .
rm -rf canapeapp
migration-schema: docker
$(MIGRATION) -path $(MIGRATION_SCHEMA) up
migration-dev-data: docker migration-schema
$(MIGRATION) -path $(MIGRATION_TEST_DATA) up
migration: migration-schema migration-dev-data
dev: docker migration watch-go
clean:
-rm -r ./build
$(DOCKER_COMPOSE) stop
$(DOCKER_COMPOSE) rm --force -v
test: docker
POSTGRES_DSN="$(DB_DSN_TEST)" go test -v -p=1 ./...