# Makefile for royalroadupdates — builds entirely inside Docker. PWD := $(shell pwd) DOCKER_RUN := docker run --rm -v $(PWD):/src -w /src golang:1.22 .PHONY: build check clean build: $(DOCKER_RUN) sh -c '\ set -e; \ if [ -f .env ]; then . ./.env; fi; \ if [ -z "$$PB_URL" ] || [ -z "$$PB_USER" ] || [ -z "$$PB_PASSWORD" ] || [ -z "$$PB_CATEGORY" ]; then \ echo "error: .env is missing or one of PB_URL / PB_USER / PB_PASSWORD / PB_CATEGORY is not set"; \ exit 1; \ fi; \ go build \ -ldflags "-X main.PBURL=$${PB_URL} -X main.PBUser=$${PB_USER} -X main.PBPassword=$${PB_PASSWORD} -X main.PBCategory=$${PB_CATEGORY}" \ -o royalroadupdates \ ./cmd/royalroadupdates' check: $(DOCKER_RUN) sh -c '\ set -e; \ if [ -f .env ]; then . ./.env; fi; \ export PB_URL PB_USER PB_PASSWORD PB_CATEGORY; \ d=$$(gofmt -l .); \ if [ -n "$$d" ]; then echo "format errors:"; echo "$$d"; exit 1; fi; \ go vet ./...; \ go test ./...' clean: rm -f royalroadupdates