Files
royalroadupdates/Makefile

34 lines
896 B
Makefile

# 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