Runbook: Git Branch Strategy and workflow for Development and Demoing¶
Overview¶
This runbook documents the feature development and demoing Git workflow for the GO project, including branch creation, pull request process, tagging, and deployment procedures for testing environments.
When to Use This Runbook¶
- Starting work on a new feature or bug fix
- Creating releases for customer testing
- Deploying to test environments (playground, demo)
- Managing feature integration back to develop branch
Prerequisites¶
- Access to GO repository
- JIRA access for ticket creation/management
- Access to DPL-CMS repository for deployment coordination
- Lagoon CLI access for manual deployments
- Understanding of Git branching workflows
Workflow Overview¶
- Create JIRA task
- Create feature branch
- Develop
- Create PR
- Create release tag
- Update DPL-CMS
Step-by-Step Procedure¶
Step 1: Create JIRA Task¶
- Navigate to JIRA project
- Create a new task with format:
DDF-[number]-[brief-description]
- Fill in task details and acceptance criteria
- Assign to appropriate developer
Example: DDF-123-test-issue
Step 2: Create Feature Branch¶
- Ensure you're on the latest develop branch:
- Create new feature branch from develop:
- Push the new branch to remote:
Step 3: Develop Feature¶
- Implement the feature or fix
- Make regular commits with descriptive messages
- Follow existing code patterns and conventions
- Ensure code quality and testing standards
Step 4: Create Pull Request¶
- Push final changes to feature branch:
- Create pull request from feature branch to
develop
- Fill in PR description with:
- Link to JIRA ticket
- Description of changes
- Testing instructions
-
Any breaking changes or considerations
-
Request code review from team members
- Wait for PR approval
Step 5: Create Release Tag for Testing¶
After PR approval, create a release tag for customer testing:
- Tag Naming Convention:
[environment]-[year][month][day].[sequence_number]
Available Test Environments:
- playground
- Playground testing environment
- demo
- Demo testing environment
- Create the tag from your feature branch:
Examples:
- demo-20250701.1
- playground-20250701.1
- playground-20250701.2
(if second release same day)
Step 6: Update DPL-CMS with Release Tag¶
- Navigate to DPL-CMS repository
- Switch to the appropriate environment branch:
- For playground:
dpl-go-reload-playground
-
For demo:
dpl-go-demo
-
Open
node.dockerfile
- Update the
dpl-go-node
version number with your release tag - Commit and push the change: