Files
doczyai-pipelines/readme.md
T

66 lines
2.3 KiB
Markdown
Raw Normal View History

# 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.