- tests/: 55 тестов web-панели, авторизации, сети и обновлений, все страницы рендерятся на замоканных virsh/systemctl; - GitHub Actions: pyflakes + pytest на Python 3.11–3.13, shellcheck, сборка ISO amd64/arm64 по тегу v* или вручную; - Makefile: make check / make test / make iso; - docs/IMAGE.md и README: установка с ISO, продакшен-настройки, разработка; - updates/versions.json: описание версии 0.10.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
35 строки
855 B
Makefile
35 строки
855 B
Makefile
PYTHON ?= python3
|
|
ARCH ?= amd64
|
|
ISO_ARGS ?=
|
|
SHELL_SCRIPTS := $(wildcard *.sh scripts/*.sh image/*.sh)
|
|
|
|
.PHONY: help test lint lint-python lint-shell check iso clean
|
|
|
|
help:
|
|
@echo "make test - run the web panel test suite"
|
|
@echo "make lint - pyflakes + shellcheck"
|
|
@echo "make check - lint + test"
|
|
@echo "make iso - build the installer ISO (ARCH=amd64|arm64, ISO_ARGS='--unattended ...')"
|
|
@echo "make clean - remove build output"
|
|
|
|
test:
|
|
$(PYTHON) -m pytest -q
|
|
|
|
lint-python:
|
|
$(PYTHON) -m pyflakes web tests
|
|
|
|
lint-shell:
|
|
@for f in $(SHELL_SCRIPTS); do bash -n "$$f" || exit 1; done
|
|
shellcheck -S error $(SHELL_SCRIPTS)
|
|
|
|
lint: lint-python lint-shell
|
|
|
|
check: lint test
|
|
|
|
iso:
|
|
./image/build-iso.sh --arch $(ARCH) $(ISO_ARGS)
|
|
|
|
clean:
|
|
rm -rf dist .pytest_cache
|
|
find . -name __pycache__ -type d -prune -exec rm -rf {} +
|