# SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2026 Bryan Joshua Pedini .PHONY: help dev-environment test lint lint-fix format clean e2e-up e2e-down test-e2e VENV ?= .venv PYTHON ?= $(VENV)/bin/python help: @echo "Available targets:" @echo " dev-environment create the virtualenv and install dev dependencies" @echo " test run the unit test suite" @echo " lint run ruff checks" @echo " lint-fix run ruff checks and fix what is auto-fixable" @echo " format run the ruff formatter" @echo " clean remove the virtualenv and caches" @echo " e2e-up start the throwaway NetBox stack for e2e tests" @echo " e2e-down stop the e2e stack and delete its data" @echo " test-e2e run the end-to-end tests against the e2e stack" dev-environment: python3 -m venv $(VENV) $(PYTHON) -m pip install --upgrade pip $(PYTHON) -m pip install requests PyYAML pytest responses ruff test: $(PYTHON) -m pytest lint: $(PYTHON) -m ruff check . lint-fix: $(PYTHON) -m ruff check --fix . format: $(PYTHON) -m ruff format . e2e-up: test -f e2e/.env || cp e2e/env.example e2e/.env docker compose --project-directory e2e --env-file e2e/.env up -d --wait e2e-down: docker compose --project-directory e2e --env-file e2e/.env down -v test-e2e: $(PYTHON) -m pytest e2e clean: rm -rf $(VENV) .pytest_cache .ruff_cache __pycache__ tests/__pycache__