|
| 1 | +.PHONY: help |
| 2 | + |
| 3 | +help: |
| 4 | + @echo "🛠️ github Commands:\n" |
| 5 | + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' |
| 6 | + |
| 7 | +.PHONY: install |
| 8 | +install: ## Install the uv environment and install all packages with dependencies |
| 9 | + @echo "🚀 Creating virtual environment and installing all packages using uv" |
| 10 | + @uv sync --active --all-extras --no-sources |
| 11 | + @if [ -f .pre-commit-config.yaml ]; then uv run --no-sources pre-commit install; fi |
| 12 | + @echo "✅ All packages and dependencies installed via uv" |
| 13 | + |
| 14 | +.PHONY: install-local |
| 15 | +install-local: ## Install the uv environment and install all packages with dependencies with local Arcade sources |
| 16 | + @echo "🚀 Creating virtual environment and installing all packages using uv" |
| 17 | + @uv sync --active --all-extras |
| 18 | + @if [ -f .pre-commit-config.yaml ]; then uv run pre-commit install; fi |
| 19 | + @echo "✅ All packages and dependencies installed via uv" |
| 20 | +.PHONY: build |
| 21 | +build: clean-build ## Build wheel file using poetry |
| 22 | + @echo "🚀 Creating wheel file" |
| 23 | + uv build |
| 24 | + |
| 25 | +.PHONY: clean-build |
| 26 | +clean-build: ## clean build artifacts |
| 27 | + @echo "🗑️ Cleaning dist directory" |
| 28 | + rm -rf dist |
| 29 | + |
| 30 | +.PHONY: test |
| 31 | +test: ## Test the code with pytest |
| 32 | + @echo "🚀 Testing code: Running pytest" |
| 33 | + @uv run --no-sources pytest -W ignore -v --cov --cov-config=pyproject.toml --cov-report=xml |
| 34 | + |
| 35 | +.PHONY: coverage |
| 36 | +coverage: ## Generate coverage report |
| 37 | + @echo "coverage report" |
| 38 | + @uv run --no-sources coverage report |
| 39 | + @echo "Generating coverage report" |
| 40 | + @uv run --no-sources coverage html |
| 41 | + |
| 42 | +.PHONY: bump-version |
| 43 | +bump-version: ## Bump the version in the pyproject.toml file by a patch version |
| 44 | + @echo "🚀 Bumping version in pyproject.toml" |
| 45 | + uv version --no-sources --bump patch |
| 46 | + |
| 47 | +.PHONY: check |
| 48 | +check: ## Run code quality tools. |
| 49 | + @if [ -f .pre-commit-config.yaml ]; then\ |
| 50 | + echo "🚀 Linting code: Running pre-commit";\ |
| 51 | + uv run --no-sources pre-commit run -a;\ |
| 52 | + fi |
| 53 | + @echo "🚀 Static type checking: Running mypy" |
| 54 | + @uv run --no-sources mypy --config-file=pyproject.toml |
0 commit comments