Files
lvmh/Makefile
T

51 lines
1.3 KiB
Makefile

SHELL := /bin/bash
REMOTE ?= alarm
REMOTE_DIR ?= /zdata/root/dockerFiles/lvmh
.PHONY: help build verify worker-image daemon web test deploy e2e integration e2e-integration clean
help:
@echo "build build daemon + web (dev checks)"
@echo "verify vet + staticcheck + tests + web build"
@echo "worker-image build lvmh-worker:latest (requires plugin/)"
@echo "deploy rsync to alarm:$(REMOTE_DIR) and docker compose up -d"
@echo "integration cross-component e2e harness (e2e/, requires go + node >= 22)"
build: daemon web
daemon:
cd daemon && go build ./...
web:
cd web && npm install --no-fund --no-audit && npm run build
worker-image:
docker build -f docker/worker.Dockerfile \
--build-arg LVMH_PLUGIN=build-plugin/lvmh-agent.ts \
-t lvmh-worker:latest .
@# build-plugin/ is prepared by deploy/prep-worker.sh
verify: daemon
cd daemon && go vet ./...
cd daemon && staticcheck ./... || true
cd daemon && go test ./... -count=1
cd web && npm run build
cd plugin && npx tsc --noEmit -p tsconfig.json
test:
cd daemon && go test ./... -count=1
deploy: verify worker-image
bash deploy/deploy.sh $(REMOTE) $(REMOTE_DIR)
e2e:
bash deploy/e2e.sh
integration:
node e2e/driver.mjs
e2e-integration: integration
clean:
rm -rf web/dist web/node_modules daemon/lvmh-daemon .pi/scratch