2024-06-21 15:46:47 +02:00
2024-06-10 19:43:34 -05:00
2024-06-10 19:42:46 -05:00

Branching and Release Management Guide

Overview

This guide outlines the naming conventions, branching strategy, and merging process for our Git repository.

Branch Naming Conventions

Feature Branches

  • Naming Convention: feature/<workstream>_<version>
    • Example: feature/streamlit_UI0_1.0, feature/textract_1.5

Branching Strategy

Creating Feature Branches

  1. From Release Branch: Create a feature branch from release/uat_<version>
    • Example: To develop Streamlit UI1 v1.5, create feature/streamlit_UI1_1.5 from release/uat_1.0

Merging Process

Merging to DEV

  1. Initial Merge: Once the feature is ready, merge the feature branch into DEV.
  2. Verification: Ensure the functionality is verified in DEV.

Merging to UAT

  1. Approval Requirement: Merge to UAT requires approval from default reviewers (Anup / Priya / Umang).
  2. Post-Approval Merge: After approval, merge the same feature branch that was verified in DEV into UAT.

Merging to PROD

  1. Final Merge: Once the feature is tested and approved in UAT, merge it into PROD.
  2. Complete Versions: Deployment to PROD should only be done with complete versions (e.g., v1.0, v2.0) with an appropriate release branch in place.

State of Branches

After Initial Release (v1.0)

Workstream DEV UAT PROD
Streamlit 1.0 1.0 1.0
Textract 1.0 1.0 1.0
DevOps 1.0 1.0 1.0
Data 1.0 1.0 1.0

After Streamlit 1.5 and Textract 1.5

Workstream DEV UAT PROD
Streamlit 1.5 1.5 1.0
Textract 1.5 1.5 1.0
DevOps 1.0 1.0 1.0
Data 1.0 1.0 1.0

Merge Restrictions

  • Workstream Specific Changes: For feature branches, only changes in the respective folder are allowed. Other changes require a separate feature branch. This ensures that workstream changes are deployed to the respective infra.
  • Merge Approval: Merging into DEV, UAT or PROD requires approval from default reviewers.

Refer to the branching guide in Confluence for more info on this


This guide ensures that all team members follow the best practices for branch management and releases.

S
Description
AARETE DoczyAI pipelines mirror.
Readme 642 MiB
Languages
Python 80.5%
Jupyter Notebook 13%
HCL 3.1%
HTML 1.6%
PLpgSQL 1.5%
Other 0.2%