.PHONY: build run docker docker-run docker-build docker-build-local setup-buildx test test-bluesky clean # Container tool and image configuration CONTAINER_TOOL ?= docker IMG ?= atcr.io/evan.jarrett.net/git-summarizer:latest # Build binary build: go mod tidy go build -ldflags="-s -w" -o git-summarizer ./cmd/git-summarizer # Run locally run: build ./git-summarizer # Build docker image (legacy, use docker-build-local or docker-build instead) docker: $(CONTAINER_TOOL) build -t $(IMG) . # Run docker locally docker-run: $(CONTAINER_TOOL) run --network=host \ -e LLAMA_URL=https://llama.j5t.io \ -e LLAMA_MODEL=qwen3-coder-30b \ $(IMG) # Build and push multi-arch docker image (amd64 + arm64) docker-build: setup-buildx $(CONTAINER_TOOL) buildx build \ --builder git-summarizer-builder \ --platform=linux/amd64,linux/arm64 \ --push \ --tag $(IMG) \ . # Build docker image for local arch only (no push) docker-build-local: $(CONTAINER_TOOL) build -t $(IMG) . # Set up buildx builder for multi-arch builds setup-buildx: @echo "Setting up git-summarizer-builder..." -$(CONTAINER_TOOL) buildx rm git-summarizer-builder 2>/dev/null || true $(CONTAINER_TOOL) buildx create --name git-summarizer-builder \ --driver docker-container \ --driver-opt network=host \ --config /dev/stdin <<< 'debug = true' || true $(CONTAINER_TOOL) buildx inspect --bootstrap git-summarizer-builder @echo "✓ Builder setup complete!" # Test with a public repo test: curl -X POST http://localhost:8000/summarize \ -H "Content-Type: application/json" \ -d '{"repo_url": "https://tangled.org/evan.jarrett.net/at-container-registry", "base": "v0.0.10", "head": "main"}' # Test bluesky-style short summary test-bluesky: curl -X POST http://localhost:8000/summarize \ -H "Content-Type: application/json" \ -d '{"repo_url": "https://tangled.org/evan.jarrett.net/at-container-registry", "base": "v0.0.10", "head": "main", "style": "bluesky"}' clean: rm -f git-summarizer