.PHONY: lint fmt

env pip_dev:  ## Prepare environment
	poetry install


lint: pip_dev  ## Run code linters
	poetry run mypy fargate_tools
	poetry run ruff check fargate_tools
	poetry run ruff format fargate_tools --check

fmt: pip_dev ## Run code formatters
	poetry run ruff check fargate_tools --fix
	poetry run ruff format fargate_tools

docker_unit_lint:
	docker compose up \
	  --build \
		--exit-code-from unit-lint \
		--abort-on-container-exit \
		--remove-orphans \
		unit-lint

down_unit_lint:
	docker compose down --remove-orphans

ci_unit_lint: ci_unit_lint_clean
	mkdir -p build
	chmod a+w build
	make docker_unit_lint

ci_unit_lint_clean: down_unit_lint
	rm -rf build
