69 lines
2.2 KiB
Makefile
69 lines
2.2 KiB
Makefile
.PHONY: build build-manager build-runner build-web run-manager run-runner run cleanup cleanup-manager cleanup-runner clean test
|
|
|
|
# Build all
|
|
build: clean-bin build-manager build-runner
|
|
|
|
# Build manager
|
|
build-manager: clean-bin build-web
|
|
go build -o bin/manager ./cmd/manager
|
|
|
|
# Build runner
|
|
build-runner: clean-bin
|
|
GOOS=linux GOARCH=amd64 go build -o bin/runner ./cmd/runner
|
|
|
|
# Build web UI
|
|
build-web: clean-web
|
|
cd web && npm install && npm run build
|
|
|
|
# Cleanup manager (database and storage)
|
|
cleanup-manager:
|
|
@echo "Cleaning up manager database and storage..."
|
|
@rm -f jiggablend.db 2>/dev/null || true
|
|
@rm -f jiggablend.db-shm 2>/dev/null || true
|
|
@rm -f jiggablend.db-wal 2>/dev/null || true
|
|
@rm -rf jiggablend-storage 2>/dev/null || true
|
|
@echo "Manager cleanup complete"
|
|
|
|
# Cleanup runner (workspaces and secrets)
|
|
cleanup-runner:
|
|
@echo "Cleaning up runner workspaces and secrets..."
|
|
@rm -rf jiggablend-workspaces jiggablend-workspace* *workspace* runner-secrets*.json 2>/dev/null || true
|
|
@echo "Runner cleanup complete"
|
|
|
|
# Cleanup both manager and runner
|
|
cleanup: cleanup-manager cleanup-runner
|
|
|
|
# Run all parallel
|
|
run: cleanup-manager cleanup-runner build-manager build-runner
|
|
@echo "Starting manager and runner in parallel..."
|
|
@echo "Press Ctrl+C to stop both..."
|
|
@trap 'kill $$MANAGER_PID $$RUNNER_PID 2>/dev/null; exit' INT TERM; \
|
|
FIXED_REGISTRATION_TOKEN=test-token ENABLE_LOCAL_AUTH=true LOCAL_TEST_EMAIL=test@example.com LOCAL_TEST_PASSWORD=testpassword bin/manager & \
|
|
MANAGER_PID=$$!; \
|
|
REGISTRATION_TOKEN=test-token bin/runner & \
|
|
RUNNER_PID=$$!; \
|
|
wait $$MANAGER_PID $$RUNNER_PID
|
|
|
|
# Run manager
|
|
# Note: ENABLE_LOCAL_AUTH enables local user registration/login
|
|
# LOCAL_TEST_EMAIL and LOCAL_TEST_PASSWORD create a test user on startup (if it doesn't exist)
|
|
run-manager: cleanup-manager build-manager
|
|
FIXED_REGISTRATION_TOKEN=test-token ENABLE_LOCAL_AUTH=true LOCAL_TEST_EMAIL=test@example.com LOCAL_TEST_PASSWORD=testpassword bin/manager
|
|
|
|
# Run runner
|
|
run-runner: cleanup-runner build-runner
|
|
REGISTRATION_TOKEN=test-token bin/runner
|
|
|
|
# Clean bin build artifacts
|
|
clean-bin:
|
|
rm -rf bin/
|
|
|
|
# Clean web build artifacts
|
|
clean-web:
|
|
rm -rf web/dist/
|
|
|
|
# Run tests
|
|
test:
|
|
go test ./... -timeout 30s
|
|
|