CRITICAL FIX for CI workflow:
- Add 'pdm format-check' command that uses 'black --check --diff .'
- Update 'pdm ci' to use 'format-check' instead of 'format'
- CI now FAILS when code is not formatted (instead of silently fixing)
- Maintains separation between checking (CI) and fixing (local dev)
Commands available:
- 'pdm format' - fixes formatting issues locally
- 'pdm format-check' - checks formatting, fails if not formatted
- 'pdm ci' - runs format-check + test + lint (fails on any issue)
Before: CI would format code and pass ❌
After: CI fails on unformatted code, requires manual fix ✅
This ensures contributors format their code before pushing!
- Uses existing 'pdm ci' command for consistency between local and CI
- Runs on pushes to main and pull requests
- Includes dependency caching for faster CI runs
- Supports manual triggering via GitHub Actions UI
- Uploads test artifacts for debugging failed runs
Workflow checks:
✅ Code formatting (black)
✅ Unit tests (pytest) - 56 tests, 10/10 pylint score
✅ Code quality (pylint)
Local usage: 'pdm ci' - same checks as CI