# Delivery Tracker - Local Build & Deploy
REGISTRY = gitea.chedius.ru/chedius
PLATFORM = linux/amd64

# Build and push both services
.PHONY: all build push deploy install-hooks

all: build push

build:
	docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/backend:latest ./backend
	docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/frontend:latest ./frontend

push:
	docker push $(REGISTRY)/delivery-tracker/backend:latest
	docker push $(REGISTRY)/delivery-tracker/frontend:latest

# Quick deploy - build, push and trigger watchtower check
deploy: build push
	@echo "Build and push complete. Watchtower will auto-update within 60 seconds."
	@echo "Or run 'make watchtower-now' to force immediate update"

# Force watchtower to check now (run from server)
watchtower-now:
	docker exec delivery-tracker-watchtower-1 /watchtower --run-once delivery-tracker-backend-1 delivery-tracker-frontend-1

# Update specific containers on server (if watchtower fails)
update-server:
	docker pull $(REGISTRY)/delivery-tracker/backend:latest
	docker pull $(REGISTRY)/delivery-tracker/frontend:latest
	docker-compose up -d --force-recreate backend frontend

# Install git hooks for automation
install-hooks:
	git config core.hooksPath .githooks
	chmod +x .githooks/*
	@echo "✅ Git hooks installed from .githooks/"

# Full release: commit, push, and auto-build via hook
release:
	@if [ -z "$(MSG)" ]; then echo "Usage: make release MSG='commit message'"; exit 1; fi
	git add -A
	git commit -m "$(MSG)" || true
	git push
	@echo "✅ Released! Watchtower will deploy within 60 seconds."
