.PHONY: format lint run_unit_tests lint_and_test docker_lint_and_test

format:
	ruff check . --fix
	ruff format .

lint:
	ruff check .
	ruff format . --check --diff

run_unit_tests:
	pytest --rootdir=tests tests/

lint_and_test: lint run_unit_tests

docker_lint_and_test:
	./lint_and_test.sh

docker_run_lint_and_test:
	@echo "Building the image for lint and unit test..."
	docker compose build lint-and-test
	@echo "Running lint and unit test in Docker..."
	docker compose up lint-and-test --exit-code-from lint-and-test
