Extract VERSION variable (was inline). Add version tag to docker image. Add push target that builds then pushes to MCR. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
49 lines
1.2 KiB
Makefile
49 lines
1.2 KiB
Makefile
.PHONY: build test vet lint proto proto-lint clean docker push all devserver
|
|
|
|
MCR := mcr.svc.mcp.metacircular.net:8443
|
|
VERSION := $(shell git describe --tags --always --dirty)
|
|
LDFLAGS := -trimpath -ldflags="-s -w -X main.version=$(VERSION)"
|
|
|
|
mc-proxy:
|
|
go build $(LDFLAGS) -o mc-proxy ./cmd/mc-proxy
|
|
|
|
mcproxyctl:
|
|
go build -trimpath -ldflags="-s -w" -o mcproxyctl ./cmd/mcproxyctl
|
|
|
|
build:
|
|
go build ./...
|
|
|
|
test:
|
|
go test ./...
|
|
|
|
vet:
|
|
go vet ./...
|
|
|
|
lint:
|
|
golangci-lint run ./...
|
|
|
|
proto:
|
|
protoc --go_out=. --go_opt=module=git.wntrmute.dev/mc/mc-proxy \
|
|
--go-grpc_out=. --go-grpc_opt=module=git.wntrmute.dev/mc/mc-proxy \
|
|
proto/mc_proxy/v1/*.proto
|
|
|
|
proto-lint:
|
|
buf lint
|
|
buf breaking --against '.git#branch=master,subdir=proto'
|
|
|
|
clean:
|
|
rm -f mc-proxy mcproxyctl
|
|
|
|
docker:
|
|
docker build --build-arg VERSION=$(VERSION) -t $(MCR)/mc-proxy:$(VERSION) -f Dockerfile .
|
|
|
|
push: docker
|
|
docker push $(MCR)/mc-proxy:$(VERSION)
|
|
|
|
devserver: mc-proxy
|
|
@mkdir -p srv
|
|
@if [ ! -f srv/mc-proxy.toml ]; then cp mc-proxy.toml.example srv/mc-proxy.toml; echo "Created srv/mc-proxy.toml from example — edit before running."; fi
|
|
./mc-proxy server --config srv/mc-proxy.toml
|
|
|
|
all: vet lint test mc-proxy
|