52 lines
1.1 KiB
Makefile
52 lines
1.1 KiB
Makefile
.PHONY: install dev test lint format typecheck clean build-wheel build-deb build-all
|
|
|
|
install:
|
|
pip install -e .
|
|
|
|
dev:
|
|
pip install -e ".[dev]"
|
|
pre-commit install
|
|
|
|
test:
|
|
pytest -v --tb=short
|
|
|
|
test-cov:
|
|
pytest --cov=sshctl --cov-report=term-missing --cov-fail-under=45
|
|
|
|
lint:
|
|
ruff check src/ tests/
|
|
|
|
format:
|
|
ruff format src/ tests/
|
|
|
|
format-check:
|
|
ruff format --check src/ tests/
|
|
|
|
typecheck:
|
|
mypy src/ tests/
|
|
|
|
check: lint format-check typecheck test
|
|
|
|
clean:
|
|
rm -rf dist/ dist-deb/ build/ *.egg-info/ htmlcov/ .coverage coverage.xml .mypy_cache .ruff_cache .pytest_cache
|
|
find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
|
|
find . -type f -name '*.pyc' -delete
|
|
|
|
build-wheel:
|
|
pip install build
|
|
python -m build --wheel
|
|
|
|
build-deb: build-wheel
|
|
rm -rf debian
|
|
cp -r linux/debian debian
|
|
dpkg-buildpackage -us -uc -b
|
|
rm -rf debian
|
|
mkdir -p dist-deb
|
|
mv ../*.deb dist-deb/ 2>/dev/null || true
|
|
|
|
build-all: clean check build-wheel build-deb
|
|
|
|
release: clean check build-wheel build-deb
|
|
@echo "Release artifacts:"
|
|
@ls -la dist/*.whl dist-deb/*.deb 2>/dev/null || echo "No artifacts found"
|