Víðir Valberg Guðmundsson
26e06dfaea
All checks were successful
continuous-integration/drone/push Build is passing
62 lines
1.7 KiB
Makefile
62 lines
1.7 KiB
Makefile
DOCKER_COMPOSE = COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 venv/bin/docker-compose
|
|
DOCKER_RUN = ${DOCKER_COMPOSE} run -u `id -u`
|
|
DOCKER_BUILD = DOCKER_BUILDKIT=1 docker build
|
|
DOCKER_CONTAINER_NAME = backend
|
|
MANAGE_EXEC = python /app/src/manage.py
|
|
MANAGE_COMMAND = ${DOCKER_RUN} ${DOCKER_CONTAINER_NAME} ${MANAGE_EXEC}
|
|
|
|
init: setup_venv pre_commit_install migrate
|
|
|
|
run:
|
|
${DOCKER_COMPOSE} up
|
|
|
|
setup_venv:
|
|
python3.10 -m venv venv;
|
|
venv/bin/python -m pip install wheel setuptools;
|
|
venv/bin/python -m pip install docker-compose pre-commit boto3 pip-tools;
|
|
|
|
pre_commit_install:
|
|
venv/bin/pre-commit install
|
|
|
|
pre_commit_run_all:
|
|
venv/bin/pre-commit run --all-files
|
|
|
|
makemigrations:
|
|
${MANAGE_COMMAND} makemigrations ${EXTRA_ARGS}
|
|
|
|
migrate:
|
|
${MANAGE_COMMAND} migrate ${EXTRA_ARGS}
|
|
|
|
createsuperuser:
|
|
${MANAGE_COMMAND} createsuperuser
|
|
|
|
shell:
|
|
${MANAGE_COMMAND} shell
|
|
|
|
manage_command:
|
|
${MANAGE_COMMAND} ${COMMAND}
|
|
|
|
add_dependency:
|
|
${DOCKER_RUN} ${DOCKER_CONTAINER_NAME} poetry add --lock ${DEPENDENCY}
|
|
|
|
add_dev_dependency:
|
|
${DOCKER_RUN} ${DOCKER_CONTAINER_NAME} poetry add -D --lock ${DEPENDENCY}
|
|
|
|
poetry_lock:
|
|
${DOCKER_RUN} ${DOCKER_CONTAINER_NAME} poetry lock --no-update
|
|
|
|
poetry_command:
|
|
${DOCKER_RUN} ${DOCKER_CONTAINER_NAME} poetry ${COMMAND}
|
|
|
|
build_dev_docker_image: compile_requirements_dev
|
|
${DOCKER_COMPOSE} build ${DOCKER_CONTAINER_NAME}
|
|
|
|
compile_requirements:
|
|
./venv/bin/pip-compile --output-file requirements/base.txt requirements/base.in
|
|
|
|
compile_requirements_test: compile_requirements
|
|
./venv/bin/pip-compile --output-file requirements/test.txt requirements/test.in
|
|
|
|
compile_requirements_dev: compile_requirements_test
|
|
./venv/bin/pip-compile --output-file requirements/dev.txt requirements/dev.in
|