# Add any tasks that are not dependent on files to the .PHONY list.
.PHONY: env dev test lint pip_dev

dev run: env main.py
	env/bin/python3.13 main.py

env pip_dev:
	rm -rf env
	python3.13 -m venv env
	env/bin/pip3.13 install --upgrade pip
	env/bin/pip3.13 install -r requirements.txt
	env/bin/pip3.13 install -r requirements-dev.txt

test: env tests
	env/bin/py.test tests/  --verbose

test_unit: env salessheets/ tests/
	env/bin/py.test \
		--verbose \
		--cov salessheets tests/ \
		--cov-report xml \
		--junitxml=pyunit.xml

lint: env salessheets tests
	env/bin/flake8 salessheets/ tests/

docker_dev:
	docker compose up --build worker

docker_down:
	docker compose down --remove-orphans

docker_build:
	docker compose build unit-lint

docker_test: docker_build
	docker compose run --rm unit-lint

ci_unit_lint:
	make docker_build
	make docker_test
