Merge pull request #217 from svnlto/main
feat: streamline GitHub Actions workflows and improve contributor experience
This commit is contained in:
@@ -23,8 +23,16 @@ We maintain high code quality standards. **All contributions must pass our autom
|
||||
|
||||
#### Required Code Quality Checks
|
||||
|
||||
Before submitting any PR, run our automated quality check script:
|
||||
**Option 1 - Automated (Recommended):**
|
||||
```bash
|
||||
# Install pre-commit hooks (one-time setup)
|
||||
pre-commit install
|
||||
|
||||
# Now linting runs automatically on every commit
|
||||
# Includes: ruff (with auto-fix), black, isort
|
||||
```
|
||||
|
||||
**Option 2 - Manual:**
|
||||
```bash
|
||||
# Run the comprehensive quality checks script
|
||||
./code_quality_checks.sh
|
||||
@@ -32,7 +40,7 @@ Before submitting any PR, run our automated quality check script:
|
||||
|
||||
This script automatically runs:
|
||||
- Ruff linting with auto-fix
|
||||
- Black code formatting
|
||||
- Black code formatting
|
||||
- Import sorting with isort
|
||||
- Complete unit test suite (361 tests)
|
||||
- Verification that all checks pass 100%
|
||||
@@ -56,7 +64,7 @@ python -m pytest -xvs
|
||||
python communication_simulator_test.py
|
||||
```
|
||||
|
||||
**Important**:
|
||||
**Important**:
|
||||
- **Every single test must pass** - we have zero tolerance for failing tests in CI
|
||||
- All linting must pass cleanly (ruff, black, isort)
|
||||
- Import sorting must be correct
|
||||
@@ -69,12 +77,12 @@ python communication_simulator_test.py
|
||||
1. **New features MUST include tests**:
|
||||
- Add unit tests in `tests/` for new functions or classes
|
||||
- Test both success and error cases
|
||||
|
||||
|
||||
2. **Tool changes require simulator tests**:
|
||||
- Add simulator tests in `simulator_tests/` for new or modified tools
|
||||
- Use realistic prompts that demonstrate the feature
|
||||
- Validate output through server logs
|
||||
|
||||
|
||||
3. **Bug fixes require regression tests**:
|
||||
- Add a test that would have caught the bug
|
||||
- Ensure the bug cannot reoccur
|
||||
@@ -136,14 +144,14 @@ def process_model_response(
|
||||
max_tokens: Optional[int] = None
|
||||
) -> ProcessedResult:
|
||||
"""Process and validate model response.
|
||||
|
||||
|
||||
Args:
|
||||
response: Raw response from the model provider
|
||||
max_tokens: Optional token limit for truncation
|
||||
|
||||
|
||||
Returns:
|
||||
ProcessedResult with validated and formatted content
|
||||
|
||||
|
||||
Raises:
|
||||
ValueError: If response is invalid or exceeds limits
|
||||
"""
|
||||
@@ -237,4 +245,4 @@ Contributors are recognized in:
|
||||
- Release notes for significant contributions
|
||||
- Special mentions for exceptional work
|
||||
|
||||
Thank you for contributing to Zen MCP Server! Your efforts help make this tool better for everyone.
|
||||
Thank you for contributing to Zen MCP Server! Your efforts help make this tool better for everyone.
|
||||
|
||||
Reference in New Issue
Block a user