tenant-engine/Makefile

44 lines
1.2 KiB
Makefile
Raw 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