40 lines
700 B
Makefile
40 lines
700 B
Makefile
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)
|