#!/usr/bin/env just --justfile [group('help')] [private] default: @ just --list --list-heading $'justfile manual page:\n' # show help [group('help')] help: default # runs service [group('run')] run: @ uv run python manage.py runserver [group('style')] style: just format just lint # just mypy [group('test')] check: just style just test-coverage # lints codebase using golangci-lint [group('style')] lint: @ uv run ruff check . # lints and fixes codebase using ruff [group('style')] fix: @ uv run ruff check . --fix # formats codebase using ruff [group('style')] format: @ uv run ruff format . # checks correct formatting of the codebase using ruff [group('style')] format-check: @ uv run ruff format . --check alias fmt := format # lints codebase using mypy [group('style')] mypy: @ uv run mypy . # run tests [group('test')] test: @ uv run python manage.py test # run integration tests [group('test')] test-integration: @ uv run python manage.py test tests.integration # run tests with coverage report [group('test')] test-coverage: @ uv run coverage run --source="." manage.py test # show coverage report [group('test')] show-coverage: @ uv run coverage report # run tests, produce junit report [group('ci')] ci-test: @ mkdir -p reports .cov ./.cov/html @ uv run coverage run --source="." manage.py test \ --testrunner=xmlrunner.extra.djangotestrunner.XMLTestRunner \ --settings="config.settings.ci" @ uv run coverage report | tee .cov/coverage.txt @ uv run coverage xml -o .cov/coverage.xml @ uv run coverage html -d .cov/html # generates migrations [group('generate')] make-migrations: @ uv run python manage.py makemigrations # applies migrations [group('generate')] apply-migrations: @ uv run python manage.py migrate alias m := apply-migrations