Skip to content

Consider using a dev branches and enforcing PRs into main branch #15

@Phillyclause89

Description

@Phillyclause89

Consider using dev branches and enforcing PRs into the main branch

Description:

To improve the structure and maintainability of the repository, consider adopting a development workflow that includes a dedicated dev branch. All feature development and bug fixes can be merged into the dev branch, and only tested and reviewed changes should be merged into the main branch.

This approach ensures that the main branch is always in a deployable state and minimizes the risk of introducing untested changes. Additionally, enforcing pull requests (PRs) to merge changes into the main branch will encourage code reviews and maintain higher code quality.

Scope of Work:

  • Create a dev branch from the current main branch.
  • Update the repository settings to enforce the following:
    • Require pull requests for merging into the main branch.
    • Protect the main branch to prevent direct commits.
  • Establish a workflow where:
    • Feature and bug fix branches are created from dev.
    • PRs are opened to merge changes into dev for testing and review.
    • Periodic PRs are created to merge tested changes from dev into main.
  • Update the README or contributing guidelines to document the new development workflow for contributors.

Acceptance Criteria:

  • A dev branch has been created and is the default branch for ongoing development.
  • The main branch is protected and requires PRs for any changes.
  • A documented workflow is available for contributors, outlining the use of dev and PR requirements.
  • The new workflow has been validated with at least one successful PR cycle (e.g., feature branch → dev branch → main branch).

Additional Context (Optional):

  • Branch protection rules can be configured under the repository settings in GitHub.
  • Related workflows or examples can be found in popular open-source repositories with a similar branching model.

Metadata

Metadata

Labels

documentationImprovements or additions to documentationenhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions