Skip to content

Commit 0529659

Browse files
committed
Addresses review comment eclipse-score#2400 (comment)
1 parent 22a63b6 commit 0529659

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

docs/design_decisions/DR-005-infra.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,16 +108,17 @@ If branching off from version 1.2.3 and needing a bugfix while development on `m
108108

109109
### 3.2 Gitflow Across Repositories
110110

111-
The manifest repository creates release branches (e.g., `release/v1.0`), and each participating module repository creates corresponding release branches. Since Bazel requires either version tags or commit hashes in `MODULE.bazel`, the manifest must be updated manually each time a module's release branch is tagged or advanced. This creates a workflow where teams coordinate to stabilize their module release branches, tag them, and then update the manifest's release branch to reference those tags or commits.
111+
Uses the Gitflow branching model where modules maintain both `main` and `develop` branches, with release branches created for stabilization. The manifest repository (per DR-002) creates release branches (e.g., `release/v1.0`), and each participating module repository creates corresponding release branches. Modules tag bugfixes on release branches with standard SemVer, and the manifest's release branch references these versions.
112112

113113
**Pros**:
114114
- Well-known branching model.
115-
- Provides release branches for stabilization.
115+
- Explicit `develop` branch separates ongoing work from release stabilization.
116+
- Release branches provide clear stabilization phases.
116117

117118
**Cons**:
118-
- Requires manual updates to the manifest whenever module release branches are tagged or advanced.
119-
- Manual coordination across all module repositories to create, maintain, and tag release branches.
120-
- Frequent manual manifest updates during stabilization increase coordination overhead.
119+
- Standard SemVer suffers from the same parallel release stream problem as Option 3.1 (version numbering conflicts).
120+
- Additional overhead of maintaining separate `develop` branches across all repositories.
121+
- More complex branching model increases coordination complexity in a polyrepo setup.
121122
- Does not scale well with increasing module count.
122123

123124
### 3.3 Polyrepo Release Process with Manifest Repository and relaxed version of SemVer

0 commit comments

Comments
 (0)