Files
rns-page-node/Makefile
Sudo-Ivan a47b78c13d update
2025-07-14 16:31:44 -05:00

87 lines
2.4 KiB
Makefile

# Makefile for rns-page-node
.PHONY: all build sdist wheel clean install lint format docker-wheels docker-build docker-run docker-build-rootless docker-run-rootless help test docker-test
all: build
build: clean
python3 setup.py sdist bdist_wheel
sdist:
python3 setup.py sdist
wheel:
python3 setup.py bdist_wheel
clean:
rm -rf build dist *.egg-info
install: build
pip install dist/*.whl
lint:
ruff check .
format:
ruff check --fix .
docker-wheels:
docker build --target builder -f Dockerfile.build -t rns-page-node-builder .
docker create --name builder-container rns-page-node-builder true
docker cp builder-container:/src/dist ./dist
docker rm builder-container
docker-build:
docker build -f Dockerfile -t rns-page-node:latest .
docker-run:
docker run --rm -it \
-v ./pages:/app/pages \
-v ./files:/app/files \
-v ./node-config:/app/node-config \
rns-page-node:latest \
--node-name "Page Node" \
--pages-dir /app/pages \
--files-dir /app/files \
--identity-dir /app/node-config \
--announce-interval 360
docker-build-rootless:
docker build -f Dockerfile.rootless -t rns-page-node-rootless:latest .
docker-run-rootless:
docker run --rm -it \
-v ./pages:/app/pages \
-v ./files:/app/files \
-v ./node-config:/app/node-config \
rns-page-node-rootless:latest \
--node-name "Page Node" \
--pages-dir /app/pages \
--files-dir /app/files \
--identity-dir /app/node-config \
--announce-interval 360
test:
bash tests/run_tests.sh
docker-test:
docker build -f tests/Dockerfile.tests -t rns-page-node-tests .
docker run --rm rns-page-node-tests
help:
@echo "Makefile commands:"
@echo " all - alias for build"
@echo " build - clean and build sdist and wheel"
@echo " sdist - build source distribution"
@echo " wheel - build wheel"
@echo " clean - remove build artifacts"
@echo " install - install built wheel"
@echo " lint - run ruff linter"
@echo " format - run ruff --fix"
@echo " docker-wheels - build Python wheels in Docker"
@echo " docker-build - build runtime Docker image"
@echo " docker-run - run runtime Docker image"
@echo " docker-build-rootless - build rootless runtime Docker image"
@echo " docker-run-rootless - run rootless runtime Docker image"
@echo " test - run local integration tests"
@echo " docker-test - build and run integration tests in Docker"