52 lines
1.3 KiB
Makefile
52 lines
1.3 KiB
Makefile
COMPOSE := {% if layout == 'part' %}cd .. && {% endif %}docker compose
|
|
{% if serve != 'api' %}IMAGE := {{ project_slug }}/frontend
|
|
{% endif %}changed = ! git diff --quiet $(1) -- $(2) 2>/dev/null
|
|
stamp = { git update-ref $(1) HEAD 2>/dev/null || true; }
|
|
|
|
.PHONY: {% if layout == 'root' %}env recreate rebuild restart logs down deploy {% endif %}fmt check build pre-deploy post-deploy dev
|
|
|
|
fmt:
|
|
bun run fix
|
|
|
|
check:
|
|
bun run check
|
|
bun run lint
|
|
|
|
build:
|
|
{% if serve == 'api' %} $(COMPOSE) run --rm frontend-dev sh -c "bun install && bun run build"
|
|
{% else %} $(COMPOSE) build frontend
|
|
{% endif %}
|
|
pre-deploy:
|
|
@if $(call changed,refs/deploy/frontend,.) || {% if serve == 'api' %}! test -d build{% else %}! docker image inspect $(IMAGE) >/dev/null 2>&1{% endif %}; then \
|
|
$(MAKE) build && $(call stamp,refs/deploy/frontend); \
|
|
fi
|
|
|
|
post-deploy:
|
|
@:
|
|
|
|
dev:
|
|
bun run dev
|
|
{% if layout == 'root' %}
|
|
env:
|
|
@test -f .env || cp .env.example .env
|
|
@test -f docker-compose.override.yml || cp docker-compose.override.yml.example docker-compose.override.yml
|
|
|
|
recreate:
|
|
$(COMPOSE) up -d --force-recreate
|
|
|
|
rebuild: build
|
|
$(COMPOSE) up -d
|
|
|
|
restart:
|
|
$(COMPOSE) restart
|
|
|
|
logs:
|
|
$(COMPOSE) logs -f --tail=100
|
|
|
|
down:
|
|
$(COMPOSE) down
|
|
|
|
deploy: pre-deploy
|
|
$(COMPOSE) up -d
|
|
$(MAKE) post-deploy
|
|
{% endif %} |