Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement | Streamlining Development Workflow and Documentation #254

Open
4 tasks
borland667 opened this issue Mar 11, 2024 · 0 comments
Open
4 tasks
Labels
enhancement New feature or request

Comments

@borland667
Copy link
Contributor

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.

@borland667 borland667 added the enhancement New feature or request label Mar 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant