Pull Request Guidelines¶
This document outlines the process for submitting pull requests to the YAML Workflow Engine project.
Before Creating a Pull Request¶
- Check Existing Issues/PRs
- Search for existing issues or pull requests
- Create an issue for discussion if needed
-
Link your PR to relevant issues
-
Update Your Fork
-
Run Local Checks
Creating a Pull Request¶
Branch Naming¶
Follow these conventions:
- feature/description
for new features
- fix/description
for bug fixes
- docs/description
for documentation changes
- refactor/description
for code refactoring
- test/description
for test improvements
Example: feature/add-http-retry
Commit Messages¶
Use conventional commit format:
Types:
- feat
: New feature
- fix
: Bug fix
- docs
: Documentation changes
- style
: Code style changes (formatting, etc.)
- refactor
: Code refactoring
- test
: Adding or updating tests
- chore
: Maintenance tasks
Example:
feat(tasks): add HTTP request retry mechanism
- Implement exponential backoff retry logic
- Add retry configuration options
- Include retry count in task output
Closes #123
Pull Request Template¶
## Description
Brief description of the changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Checklist
- [ ] Tests added/updated
- [ ] Documentation updated
- [ ] Code follows style guide
- [ ] All tests passing
- [ ] Type hints added/updated
- [ ] Docstrings updated
## Related Issues
Fixes #123
## Additional Notes
Any additional information that reviewers should know
Review Process¶
Requesting Reviews¶
- Choose Reviewers
- Request review from maintainers
- Tag relevant stakeholders
-
Consider domain expertise
-
Draft PRs
- Use draft PRs for work in progress
- Mark as ready when complete
Addressing Feedback¶
- Review Comments
- Respond to all comments
- Explain your changes
-
Link to relevant documentation
-
Making Changes
-
Resolving Discussions
- Mark resolved when addressed
- Request re-review when ready
After Merge¶
-
Clean Up
-
Follow Up
- Close related issues
- Update project documentation
- Monitor CI/CD pipeline
Tips for Success¶
- Keep PRs Focused
- One feature/fix per PR
- Split large changes into smaller PRs
-
Link related PRs
-
Quality Checks
- Run all tests locally
- Check code coverage
-
Verify documentation
-
Communication
- Be responsive to feedback
- Ask questions if unclear
-
Update PR description as needed
-
Documentation
- Update relevant docs
- Add inline comments
- Include examples
Common Issues¶
PR Too Large¶
Split into smaller, logical chunks: 1. Core functionality 2. Additional features 3. Documentation 4. Tests
Failed Checks¶
Common fixes:
# Code style
black src/ tests/
isort --profile black src/ tests/
# Type checking
mypy src/
# Fix test failures
pytest tests/ -v