Background
The project currently has no automated testing or deployment pipeline. Tests exist (test_sandbox.py, test_protocol_compliance.py, tests/test_nonce_manager.py) but run only manually. Docker support was recently added (#1) which makes containerized testing feasible.
Proposal
Phase 1: GitHub Actions CI (minimal effort)
Run on every PR and push to main:
- Python dependency installation
- Unit tests (
pytest)
- Docker image build verification
This catches broken imports, missing dependencies, and syntax errors before merge. Runs on GitHub's free tier — no infrastructure needed.
Phase 2: Integration testing (optional, needs infra)
Benefits
- Contributors can verify their PRs pass tests before requesting review
- Maintainer gets confidence that merges don't break existing functionality
- Foundation for automated deployment later
Open questions
- Should the CI run on
ubuntu-latest or a custom runner?
- Which Python version(s) to test against? (codebase uses 3.12+ features like f-string nesting)
- Should Docker build be a required check or advisory?
- Any secrets needed for integration tests (test DB, test API keys)?
Background
The project currently has no automated testing or deployment pipeline. Tests exist (
test_sandbox.py,test_protocol_compliance.py,tests/test_nonce_manager.py) but run only manually. Docker support was recently added (#1) which makes containerized testing feasible.Proposal
Phase 1: GitHub Actions CI (minimal effort)
Run on every PR and push to main:
pytest)This catches broken imports, missing dependencies, and syntax errors before merge. Runs on GitHub's free tier — no infrastructure needed.
Phase 2: Integration testing (optional, needs infra)
Benefits
Open questions
ubuntu-latestor a custom runner?