.PHONY: build check currency source-audit clean release-build release-check image-build

# Publication targets. Source of truth is always the upstream repo; pages here
# are generated and must never be hand-edited.
SRC_NETKINGDOM ?= ../net-kingdom

build:
	python3 tools/build_site.py publication.json --output build
	python3 tools/source_inventory.py check --report build/source-inventory.json

check:
	python3 -m unittest discover -s tests -p 'test_*.py'
	python3 -m py_compile tools/render.py tools/build_site.py tools/check_currency.py tools/verify_release.py tools/source_inventory.py tools/fetch_sources.py tools/adr_review_ledger.py
	$(MAKE) source-audit
	git diff --check

source-audit:
	python3 tools/source_inventory.py check

currency:
	python3 tools/check_currency.py publication.json

clean:
	rm -rf build

release-check:
	python3 tools/verify_release.py build
	python3 tools/check_currency.py publication.json

release-build: build release-check

image-build: release-check
	@test -n "$(IMAGE_REF)" || (echo "IMAGE_REF is required" >&2; exit 2)
	docker build \
		--file Containerfile \
		--target local-artifact \
		--build-arg VCS_REVISION=$$(git rev-parse HEAD) \
		--tag $(IMAGE_REF) .
