-.PHONY: deploy test shell
+.PHONY: deploy test up down build shell logs restart
-UID != id -u
-GID != id -g
+UID := $(shell id -u)
+GID := $(shell id -g)
deploy: src/wolnelektury/localsettings.py
src/manage.py collectstatic --noinput
-.ONESHELL:
+TEST_COMPOSE := docker compose -f docker-compose.test.yml
+
test:
- cd src
- python -Wall -m coverage run --branch --source='.' ./manage.py test; true
- coverage html -d ../htmlcov.new
- rm -rf ../htmlcov
- mv ../htmlcov.new ../htmlcov
- coverage report
- rm .coverage
+ mkdir -p htmlcov
+ UID=$(UID) GID=$(GID) $(TEST_COMPOSE) run --rm --build test sh -c '\
+ python -Wall -m coverage run --branch --source=. ./manage.py test $(ARGS); s=$$?; \
+ coverage report --skip-covered; coverage html -d /app/htmlcov; exit $$s'; \
+ status=$$?; $(TEST_COMPOSE) down; exit $$status
-shell:
- UID=$(UID) GID=$(GID) docker-compose run --rm dev bash
+up:
+ UID=$(UID) GID=$(GID) docker compose up --build -d
+down:
+ docker compose down
build:
- UID=$(UID) GID=$(GID) docker-compose build dev
+ UID=$(UID) GID=$(GID) docker compose build
+
+shell:
+ UID=$(UID) GID=$(GID) docker compose exec web bash
+
+logs:
+ docker compose logs -f
+
+restart:
+ docker compose restart