OuroDev Git Workflow

From Project: Ouroboros
Jump to navigation Jump to search

To facilitate the creation of a stable client and server, development of i24 towards a Volume 2 stable release will follow the following agreed upon development lifecycle.

Branch Organization

The main/origin development repo shall be CoX/Source

Feature Branches

All development for features or bugfixes shall be completed in Feature branches that are created from the Develop branch. Each dev will be responsible for creating and maintaining their Feature branch. To be promoted to the Develop branch, a Feature branch shall submit a Pull Request (PR) to CoX/Source.

Develop Branch

The Develop branch is the latest "unstable" or in-development codebase. All Feature Branches are merged into the Develop Branch using PRs.

Master Branch

The Master branch is the latest "stable" codebase. All releases originate from Master. When the Develop branch reaches a potential release state, it is merged into Master, and a Release Candidate (RC) Release branch is created from the Master Branch.

Release Branches

Each RC and final Release shall be branched from Master into a read-only Release branch. Most servers should utilize builds from a Release Branch, as Master will often represent Release Candidates with stable, but incomplete feature implementation.

PR submission rules

For a PR to be submitted to Develop, the following criteria must be verified:

  1. The PR branch must pull from Develop prior to submitting the PR.
  2. The PR branch must build.
  3. The PR branch must clearly provide a feature or bugfix and steps to resolve the bug or test the feature.
  4. The PR must be reviewed and approved by 2 approved reviewers.
  5. All NEW code must follow the [OuroDev Coding Standards] (to be determined)