Enhancement: Streamlining Development Workflow and Documentation
Objective
Update our development workflow and project documentation to incorporate trunk-based development, the use of pyenv for Python version management, and enhancements to our pull request template and contribution guidelines. These updates aim to improve development efficiency, ensure environment consistency, and maintain a clean commit history.
Key Updates
1. Trunk-Based Development:
Adopt short-lived feature branches, with frequent merges back to the master branch.
Ensure the master branch is always deployable.
Remove the development branch, focusing on direct integration into the master branch.
2. Python Version Management with Pyenv:
Standardize the use of pyenv across local development environments for managing Python versions.
Encourage the use of pyenv-created virtual environments for consistent and isolated dependency management.
3. Pull Request Template Enhancements:
Add sections to guide contributors:
How to Test This PR Manually?: Steps for manual testing before code review.
Pre-Review Checklist: Checklist items to be completed before submitting for review.
Pre-Merge Checklist: Final checks to be completed before merging the PR.
4. Contribution Guideline Updates:
Outline our trunk-based development approach:
The master branch is always in a deployable state.
All work is done in short-lived feature branches, merged to master after testing and approval.
Commit history must be kept linear, with detailed steps provided for maintaining linearity:
Fast-forward merges only.
Rebase feature branches on top of master, squash commits as necessary.
Include ticket numbers in commit messages, if applicable.
Squash commits before merging to ensure each commit represents a well-tested, complete work unit.
Implementation Details
Documentation Update:
Revise README, contribution guidelines, and pull request templates to reflect new workflow and policies.
Include examples and commands for using pyenv and adhering to the updated pull request guidelines.
Training and Support:
Organize a session to introduce the team to the updated workflow and documentation changes.
Provide ongoing support for team members adapting to pyenv and the updated pull request and merging process.
Expected Outcomes
A streamlined development process with quicker integration and reduced overhead for branch management.
Enhanced code quality and consistency through standardized Python version management.
A cleaner, more navigable commit history.
Action Items
[ ] Update contribution guidelines and pull request template with the new workflow and policies.
[ ] Document the process for using pyenv within our project.
[ ] Conduct a team training session on the updated development practices.
[ ] Monitor the adoption of these practices and offer additional support as needed.
Feedback on these proposed changes is welcome; please share any thoughts or suggestions that could further refine our development process.
Enhancement: Streamlining Development Workflow and Documentation
Objective
Update our development workflow and project documentation to incorporate trunk-based development, the use of
pyenv
for Python version management, and enhancements to our pull request template and contribution guidelines. These updates aim to improve development efficiency, ensure environment consistency, and maintain a clean commit history.Key Updates
1. Trunk-Based Development:
2. Python Version Management with Pyenv:
pyenv
across local development environments for managing Python versions.pyenv
-created virtual environments for consistent and isolated dependency management.3. Pull Request Template Enhancements:
Add sections to guide contributors:
4. Contribution Guideline Updates:
Outline our trunk-based development approach:
Implementation Details
Documentation Update:
pyenv
and adhering to the updated pull request guidelines.Training and Support:
pyenv
and the updated pull request and merging process.Expected Outcomes
Action Items
pyenv
within our project.Feedback on these proposed changes is welcome; please share any thoughts or suggestions that could further refine our development process.