34 lines
896 B
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
|