VENV ?= .venv PYTHON ?= $(VENV)/bin/python PIP ?= $(PYTHON) -m pip PYTEST ?= $(PYTHON) -m pytest RUFF ?= $(VENV)/bin/ruff .PHONY: help install-dev test lint run verify-pin validate-app-toml help: @echo "make install-dev Create .venv and install runtime + dev dependencies" @echo "make test Run the test suite" @echo "make lint Run syntax and static checks" @echo "make run Start the local API on 127.0.0.1:8090" @echo "make verify-pin Check production against the repo's pinned digest" @echo "make validate-app-toml Validate railiance/app.toml against railiance.app.v1" $(VENV)/bin/python: python3 -m venv $(VENV) $(VENV)/.dev-installed: pyproject.toml $(VENV)/bin/python $(PIP) install --upgrade pip $(PIP) install -e ".[dev]" @touch $(VENV)/.dev-installed install-dev: $(VENV)/.dev-installed test: $(VENV)/.dev-installed $(PYTEST) lint: $(VENV)/.dev-installed $(PYTHON) -m compileall src tests $(RUFF) check src tests run: $(VENV)/.dev-installed $(PYTHON) -m tenant_engine.main # Needs cluster access. tenant-engine runs on railiance01: # KUBECONFIG=~/.kube/config-railiance01 make verify-pin validate-app-toml: $(VENV)/.dev-installed $(PYTHON) tests/validate_app_toml.py verify-pin: @./deploy/verify-pin.sh