mirror of
https://github.com/alexandrev/xslt-lab.git
synced 2026-09-13 08:43:16 +00:00
45 lines
1.8 KiB
Makefile
45 lines
1.8 KiB
Makefile
BACKEND_DIR=backend
|
|
FRONTEND_DIR=frontend
|
|
BACKEND_IMAGE=xslt-playground-backend
|
|
FRONTEND_IMAGE=xslt-playground-frontend
|
|
|
|
|
|
.PHONY: all backend-build frontend-build backend-image frontend-image compose-up compose-down clean backend-test frontend-test test
|
|
|
|
all: backend-test frontend-test backend-build frontend-build backend-image frontend-image compose-up
|
|
|
|
backend-build:
|
|
cd $(BACKEND_DIR)/src && go mod tidy && go build -o ../server
|
|
|
|
backend-test:
|
|
cd $(BACKEND_DIR)/src && GOCACHE=$$(pwd)/.gocache go test ./...
|
|
|
|
frontend-build:
|
|
cd $(FRONTEND_DIR) && npm install && npm run build
|
|
|
|
frontend-test:
|
|
cd $(FRONTEND_DIR) && npm install && npm run test
|
|
|
|
test: backend-test frontend-test
|
|
|
|
backend-image:
|
|
docker build --platform linux/amd64 -t $(BACKEND_IMAGE) $(BACKEND_DIR)
|
|
docker tag $(BACKEND_IMAGE):latest ghcr.io/alexandrev/$(BACKEND_IMAGE):latest
|
|
|
|
frontend-image:
|
|
docker build --platform linux/amd64 -t $(FRONTEND_IMAGE) $(FRONTEND_DIR)
|
|
docker tag $(FRONTEND_IMAGE):latest ghcr.io/alexandrev/$(FRONTEND_IMAGE):latest
|
|
|
|
compose-up:
|
|
docker compose -f docker-compose.local.yml up
|
|
|
|
compose-down:
|
|
docker compose -f docker-compose.local.yml down
|
|
|
|
clean:
|
|
-docker compose -f docker-compose.local.yml down --remove-orphans --rmi local
|
|
@if docker image inspect $(BACKEND_IMAGE):latest >/dev/null 2>&1; then docker image rm -f $(BACKEND_IMAGE):latest; fi
|
|
@if docker image inspect $(FRONTEND_IMAGE):latest >/dev/null 2>&1; then docker image rm -f $(FRONTEND_IMAGE):latest; fi
|
|
@if docker image inspect ghcr.io/alexandrev/$(BACKEND_IMAGE):latest >/dev/null 2>&1; then docker image rm -f ghcr.io/alexandrev/$(BACKEND_IMAGE):latest; fi
|
|
@if docker image inspect ghcr.io/alexandrev/$(FRONTEND_IMAGE):latest >/dev/null 2>&1; then docker image rm -f ghcr.io/alexandrev/$(FRONTEND_IMAGE):latest; fi
|