UV ?= uv run SRC := tailscalesd TESTS := tests SHELL := $(shell which bash) APP_VERSION := $(shell git rev-parse --short HEAD) DOCKER ?= docker docker-build: DOCKER_BUILDKIT=1 $(DOCKER) build -f docker/Dockerfile \ --build-arg=$(APP_VERSION) \ -t tailscalesd:latest \ . freeze: uv export --format requirements-txt --no-hashes --no-emit-project > requirements.frozen.txt fmt: $(UV) black $(SRC) $(UV) black $(TESTS) $(UV) isort --profile black $(SRC) $(UV) isort --profile black $(TESTS) check: $(MAKE) fmt $(MAKE) lint $(MAKE) types $(MAKE) bandit $(MAKE) test lint: $(UV) flake8 $(SRC) bandit: $(UV) bandit -r $(SRC) types: $(UV) mypy $(SRC) test: $(UV) pytest $(TESTS)