tenant-engine/Makefile

51 lines
1.6 KiB
Makefile
Raw Permalink Normal View History

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
# CUST-WP-0079-T05: staged-source generation; hook uses the isolated recipe.
.PHONY: generated-work-records generated-work-records-check
generated-work-records:
$(MAKE) --no-print-directory -f .generated-work-records.mk generated-work-records
generated-work-records-check:
$(MAKE) --no-print-directory -f .generated-work-records.mk generated-work-records-check