.PHONY: fmt tests build publish publish-pypi publish-roboces

fmt:
	uv run pre-commit run --all-files --color always

tests:
	uv run pytest --cov=halig -vv tests --report-log reportlog.json
	uv run coverage html
	uv run coverage xml

build:
	uv build

publish-pypi:
	@test -n "$$PYPI_REGISTRY_USERNAME" || (echo "PYPI_REGISTRY_USERNAME not set" >&2; exit 1)
	@test -n "$$PYPI_REGISTRY_PASSWORD" || (echo "PYPI_REGISTRY_PASSWORD not set" >&2; exit 1)
	UV_PUBLISH_USERNAME="$$PYPI_REGISTRY_USERNAME" \
	UV_PUBLISH_PASSWORD="$$PYPI_REGISTRY_PASSWORD" \
	    uv publish

publish-roboces:
	@test -n "$$ROBOCES_REGISTRY_USERNAME" || (echo "ROBOCES_REGISTRY_USERNAME not set" >&2; exit 1)
	@test -n "$$ROBOCES_REGISTRY_PASSWORD" || (echo "ROBOCES_REGISTRY_PASSWORD not set" >&2; exit 1)
	UV_PUBLISH_USERNAME="$$ROBOCES_REGISTRY_USERNAME" \
	UV_PUBLISH_PASSWORD="$$ROBOCES_REGISTRY_PASSWORD" \
	    uv publish --publish-url https://git.roboces.dev/api/packages/catalin/pypi

publish: publish-pypi publish-roboces