This document outlines the standardized Gitflow workflow that will be adopted by both the Backend and Frontend teams within the International Shop initiative. It also defines responsibilities across team roles and introduces the concept of a rotating Release Captain to streamline releases and improve coordination with SRE/DevOps.
Gitflow is a branching model that provides a robust framework for managing features, releases, and hotfixes across development and production environments.
main
: Production-ready code only. Tagged with version numbers.develop
: Integration branch for feature development. Represents the latest approved work ready for QA or pre-prod.
-
feature/<feature-name>
- Branched off:
develop
- Purpose: Isolated development of new features.
- Merged into:
develop
- Branched off:
-
release/<version>
(e.g.,release/2025-05-15
)- Branched off:
develop
- Purpose: Final QA, bug fixes, pre-release stabilization.
- Merged into:
main
anddevelop
- Branched off:
-
hotfix/<hotfix-name>
- Branched off:
main
- Purpose: Emergency fixes in production.
- Merged into:
main
anddevelop
- Branched off:
- Fork the current backend repo and rename it to
axp-international-shop-backend
. - Remove all non-international code and branches.
- Adopt the Gitflow workflow described above.
- Set up separate E2 environments with support from SRE/DevOps.
- Apply Gitflow workflow to the JSON content repository and all relevant frontend modules.
- Standardize branching and PR flow across Growth, Core, and MSE contributors.
- Create
feature/
branches offdevelop
. - Conduct local and E1 environment testing.
- Raise PRs into
develop
. - Support QA during the release cycle.
- Test feature branches in E1.
- Validate release branches in E2.
- Raise issues against the
release/
branch. - Collaborate with developers to verify fixes and close QA cycles.
-
Branches off
release/<version>
fromdevelop
at the start of the release window. -
Coordinates merges from
develop
torelease/
. -
Works with QA to ensure E2 testing is completed.
-
Collaborates with SRE/DevOps to:
- Create the RFC for E2 deployment.
- Coordinate approvals and timing.
-
Merges
release/
intomain
and tags the release. -
Merges
release/
back intodevelop
. -
Time allocation: 20% sprint capacity to be reserved for Release Captain duties.
- Provide E2 environment access and deploy support.
- Review and approve RFCs submitted by Release Captains.
- Maintain infrastructure readiness for releases.
- Predictable and scalable release process.
- Clear branch purposes reduce merge conflicts.
- Defined ownership improves accountability.
- Enables coordination across distributed teams (Growth, Core, MSE, DevOps).
- Finalize buy-in from all teams.
- Schedule Gitflow onboarding sessions.
- Assign the first Release Captain for the upcoming sprint.
- Create sample branches and walkthroughs for reference.