Files
royalroadupdates/Makefile
2026-07-12 03:00:30 +02:00

34 lines
1.1 KiB
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" ] || [ -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 \
-buildvcs=false \
-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 -buildvcs=false ./...; \
go test -buildvcs=false ./...'
clean:
rm -f royalroadupdates