Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
.PHONY: pr install lint type-check test integration-test clean generate help

# Run all PR checks locally
pr: install generate lint type-check test integration-test
@echo "All PR checks passed!"

# Install dependencies
install:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe add a idl-gen rule?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I have added the generate rule which is consistent with go-client's makefile rule

@echo "Installing dependencies..."
uv sync --extra dev

# Generate idl files
generate:
@echo "Generating type files based on IDL..."
uv run python scripts/generate_proto.py

# Run linter
lint:
@echo "Running Ruff linter and fixing lint issues..."
uv tool run ruff check --fix

# Run type checker
type-check:
@echo "Running mypy type checker..."
uv tool run mypy cadence/

# Run unit tests
test:
@echo "Running unit tests..."
uv run pytest -v

# Run integration tests
integration-test:
@echo "Running integration tests..."
uv run pytest -v --integration-tests

# Clean generated files and caches
clean:
@echo "Cleaning up..."
find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
find . -type f -name "*.pyc" -delete 2>/dev/null || true
find . -type d -name "*.egg-info" -exec rm -rf {} + 2>/dev/null || true

# Show help
help:
@echo "Available targets:"
@echo " make pr - Run all PR checks (recommended before submitting PR)"
@echo " make install - Install dependencies"
@echo " make lint - Run Ruff linter"
@echo " make type-check - Run mypy type checker"
@echo " make test - Run unit tests"
@echo " make integration-test - Run integration tests"
@echo " make clean - Remove generated files and caches"
@echo " make help - Show this help message"