You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Modernize tooling: Switch to ty and add local CI testing (#8)
* Replace mypy with ty for type checking
Adopts Astral's new ty type checker to modernize the development tooling and align with the Ruff ecosystem for faster, more integrated type checking.
* Switch from uv pip sync to uv sync for dependency management
Modernizes dependency installation to use uv sync which reads directly from pyproject.toml and uv.lock, eliminating the need for intermediate requirements.txt files in the setup flow. This approach preserves environment markers for conditional dependencies and provides more accurate dependency resolution.
Key changes:
- Makefile: setup target now uses 'uv sync --all-extras' instead of pip sync
- GitHub Actions: simplified dependency installation workflow
- Dockerfile: uses 'uv sync --system --all-extras' with uv.lock for reproducible builds
The compile-deps target remains available for cases requiring requirements.txt files.
* Add local CI testing with act for GitHub Actions workflows
Implements local execution of GitHub Actions workflows using act, reducing feedback time from minutes to seconds. This allows developers to test workflows locally before pushing to GitHub, saving CI/CD minutes and enabling faster iteration.
Key additions:
- .actrc: Configuration for act with smart defaults (catthehacker image, amd64 arch)
- .github/workflows/ci-debug.yml: Fast debug workflow for iterative development
- Makefile targets:
- act-install: One-time setup with Homebrew or install script
- act-check: Auto-installs act if missing
- docker-check: Validates container runtime is running with helpful error messages
- ci-list: List available workflows and jobs
- ci-local: Run full test workflow locally
- ci-local-docs: Run documentation build check
- ci-debug: Fast iteration with customizable workflow
- ci-clean: Clean up act containers and cache
- Smart Docker socket detection (Colima/Docker/Podman)
- README and CHANGELOG updates with usage instructions
- Linux troubleshooting documentation for Docker permissions
Benefits:
- 5-20 second local feedback vs 2-5 minute GitHub runs
- Test workflows before commit/push
- Zero GitHub Actions minutes consumption
- Debug workflows with full local inspection
- Zero-setup experience: just run 'make ci-local' and it handles everything
- Clear, actionable error messages when prerequisites missing
0 commit comments