# Makefile for royalroadupdates — builds entirely inside Docker. PWD := $(shell pwd) DOCKER_RUN := docker run --rm -v $(PWD):/src -w /src -e HOME=/tmp -e GOCACHE=/tmp/go-build -e GOMODCACHE=/tmp/go-mod --user $(shell id -u):$(shell id -g) golang:1.22 .PHONY: build check clean build: $(DOCKER_RUN) sh -c '\ set -e; \ if [ -f .env ]; then . ./.env; fi; \ if [ -z "$$PB_URL" ]; then \ echo "error: .env is missing or PB_URL is not set"; \ exit 1; \ fi; \ go build \ -buildvcs=false \ -ldflags "-X main.PBURL=$${PB_URL}" \ -o royalroadupdates \ ./cmd/royalroadupdates' check: $(DOCKER_RUN) sh -c '\ set -e; \ if [ -f .env ]; then . ./.env; fi; \ export PB_URL; \ d=$$(gofmt -l .); \ if [ -n "$$d" ]; then echo "format errors:"; echo "$$d"; exit 1; fi; \ go vet -buildvcs=false ./...; \ go test -buildvcs=false ./...' clean: rm -f royalroadupdates