fooder-api/Makefile
Piotr Domański b112295d6a
Some checks are pending
Python lint and test / linttest (push) Waiting to run
[prod] works
2026-04-07 23:11:03 +02:00

52 lines
1.3 KiB
Makefile

VERSION=0.`git rev-list --count HEAD`
.PHONY: black
DOCKER_BUILD=docker build
ifeq ($(shell uname -m), arm64)
DOCKER_BUILD=docker buildx build --platform linux/amd64 --load
endif
api: fooder Dockerfile requirements/docker.txt
$(DOCKER_BUILD) -t registry.domandoman.xyz/fooder/api -f Dockerfile .
build: api
push:
docker push registry.domandoman.xyz/fooder/api
.PHONY: black mypy flake lint version create-venv test
black:
python -m black fooder
mypy:
python -m mypy fooder
flake:
python -m flake8 fooder
lint: black mypy flake
version:
@echo $(VERSION)
create-venv:
python3 -m venv .venv --prompt="fooderapi-venv" --system-site-packages
bash -c "source .venv/bin/activate && pip install -r requirements/local.txt"
test:
./test.sh
# Alembic
.PHONY: alembic alembic-upgrade alembic-downgrade alembic-merge
alembic: fooder
docker compose exec -e MSG="$(MSG)" api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini revision --autogenerate -m "$${MSG}"'
alembic-upgrade:
docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini upgrade head'
alembic-downgrade:
docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini downgrade -1'
alembic-merge:
docker compose exec api sh -c 'alembic -c /opt/fooder/fooder/alembic.ini merge -m "merge heads" heads'