This repository has been archived on 2024-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
rotini/Taskfile.backend.yml

76 lines
2.1 KiB
YAML

version: '3'
env:
BE_BASE_PATH: "/{{ .TASKFILE_DIR }}/backend"
VENV_PATH: "{{ .BE_BASE_PATH }}/.venv"
VENV_BIN: "{{ .VENV_PATH }}/bin"
VENV_ACTIVATE: "{{ .VENV_BIN }}/activate"
DOTENV: "{{ .BE_BASE_PATH }}/.env"
APP_CONTAINER_NAME: "rotini_app"
tasks:
bootstrap:
internal: true
cmds:
- . script/bootstrap
sources:
- "{{ .BE_BASE_PATH }}/*.in"
generates:
- "{{ .VENV_PATH }}/*"
dir: backend
lint:
desc: "Lints /backend using black + pylint."
deps: [bootstrap]
cmds:
- "{{ .VENV_BIN }}/black . --check"
- "{{ .VENV_BIN }}/pylint ./rotini"
dir: backend
lintfix:
desc: "Lints and fixes /backend using black + pylint."
deps: [bootstrap]
cmds:
- "{{ .VENV_BIN }}/black ."
- "{{ .VENV_BIN }}/pylint ./rotini"
dir: backend
test:
desc: "Run the test suites."
deps: [bootstrap]
cmd: . script/test
dir: backend
start:
desc: "Starts the backend application."
deps: [docker-build]
cmd: docker run -d -p 8000:8000 --name {{ .APP_CONTAINER_NAME }} {{ .CLI_ARGS }} --add-host docker.host.internal:host-gateway rotini:dev
dir: backend/rotini
stop:
desc: "Stops the backend application."
cmd: docker rm -f {{ .APP_CONTAINER_NAME }}
logs:
desc: "Shortcut to Docker container logs"
cmd: docker logs {{ .APP_CONTAINER_NAME }} -f
start-db:
desc: "Provisions a local Postgres database."
dotenv:
- "{{ .DOTENV }}"
cmd: . script/provision-db
dir: backend
migrate:
desc: "Applies migrations. Usage: be:migrate -- <up|down>"
deps: [bootstrap]
env:
PYTHONPATH: '..'
ROTINI_MIGRATE: 1
dotenv:
- "{{ .DOTENV }}"
cmd: "{{ .VENV_BIN }}/python migrate.py {{ .CLI_ARGS }}"
dir: backend/rotini/migrations
lock-deps:
desc: "Locks production and development dependencies"
deps: [bootstrap]
cmd: . script/requirements-lock
dir: backend
docker-build:
desc: "Builds a docker image from /backend"
cmd: docker build --build-arg PYTHON_VERSION=$(cat .python-version) -t rotini:dev .
dir: backend