Skip to content

ADR-007: Branching strategy for rhdh-local development - #18

Merged
rm3l merged 23 commits into
redhat-developer:mainfrom
rm3l:feat/rhdh-local-branches-and-rhdh-versions
Aug 3, 2026
Merged

ADR-007: Branching strategy for rhdh-local development#18
rm3l merged 23 commits into
redhat-developer:mainfrom
rm3l:feat/rhdh-local-branches-and-rhdh-versions

Conversation

@rm3l

@rm3l rm3l commented Jul 8, 2026

Copy link
Copy Markdown
Member

Summary

  • Proposes a dev branch strategy for rhdh-local to unblock next-release development (e.g., PR #256) while keeping main stable for end users
  • Documents three rejected alternatives (rotating default branch, early release branch, latest/next rename scheme) with Mermaid diagrams for each
  • Includes cherry-pick policy and honest trade-off analysis (merge complexity, divergence risk)

Test plan

  • Review ADR content for accuracy against current rhdh-local release process
  • Verify Mermaid diagrams render correctly on GitHub. Preview
  • Confirm cherry-pick policy aligns with team expectations
  • Validate with RHDH productization team that FF script changes are feasible

Assisted-by: Claude

Propose a `dev` branch strategy for rhdh-local to unblock
next-release development while keeping `main` stable for
end users.

Assisted-by: Claude
@rm3l
rm3l force-pushed the feat/rhdh-local-branches-and-rhdh-versions branch from 51944a2 to cbef9c1 Compare July 8, 2026 11:23
rm3l added 4 commits July 8, 2026 13:24
GitHub's Mermaid renderer requires `gitGraph` (camelCase),
not `gitgraph` (lowercase).

Assisted-by: Claude
Add Slack link for PM requirement, clarify upgrade path for
existing users, and improve phrasing in context section.

Assisted-by: Claude
Clarify that changing the GitHub default branch does not
break existing clones; the real issue is that main would
need to carry unstable content.

Assisted-by: Claude
Add release-1.10, release-2.2 branches and patch tags
(v1.10.2, v2.1.1) to all diagrams to show the full
branching strategy across multiple release cycles.

Assisted-by: Claude
@rm3l
rm3l force-pushed the feat/rhdh-local-branches-and-rhdh-versions branch 3 times, most recently from 9a8d3f5 to b175f41 Compare July 8, 2026 12:20
Add main merges for v2.1.1 and v2.2 GA, add v1.10.3 patch
tag, extend dev to 2.3 work, and remove duplicate commit id
text where a tag already shows the same version.

Assisted-by: Claude
@rm3l
rm3l force-pushed the feat/rhdh-local-branches-and-rhdh-versions branch from b175f41 to 3f15d4e Compare July 8, 2026 12:22
rm3l added 10 commits July 8, 2026 14:28
Shorten labels to reduce text overlap and add ★ default
markers to Alt 1 and Alt 3 diagrams to clarify which
branch is the default at each point.

Assisted-by: Claude
Update Alt 1 diagram with release-1.10 as current default,
add ★ default markers to Alt 1 and Alt 3, tighten Alt 2
rejection rationale, consolidate divergence negatives,
add integration point positive, and trim outdated points.

Assisted-by: Claude
Move v1.10.0 tag to release-1.10 branch with default
marker, and lowercase "Alternatives considered" heading.

Assisted-by: Claude
Interleave release-1.10 patch tags with dev/main 2.1 work
to make it clear that maintenance releases happen in
parallel with new development.

Assisted-by: Claude
Use mainBranchName init config to show "main (default)"
in diagrams where the default branch does not change.

Assisted-by: Claude
Both the Decision and Alt 2 diagrams used mainBranchName config
to rename main to "main (default)" but had no initial commit
before the first branch statement, causing GitHub to error with
"Current branch (main (default)) has no commits".

Assisted-by: Claude
Alt 1: clarify that existing users would need to switch branches
at each GA, defeating the simple "pull to upgrade" workflow.

Alt 2: focus on the practical downside that the development target
branch changes every release cycle, vs. a stable dev branch.

Assisted-by: Claude
Consistent with Decision and Alt 2 diagrams that label the
default branch explicitly.

Assisted-by: Claude

@gazarenkov gazarenkov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is one important difference between "usual" flow and rhdh-local we need to emphasize (it may look obvious now):
We fix bugs right do not provide any bug-fix releases

Comment thread decisions/007-rhdh-local-branching-strategy.md
Comment thread decisions/007-rhdh-local-branching-strategy.md
rm3l added 3 commits July 13, 2026 11:34
…eases

- Add context that rhdh-local is also used for local plugin development
- Clarify cherry-pick policy for bug fixes
- Note that older release branches are maintained for plugin development

Assisted-by: Claude
- Remove "one release ahead" constraint on dev
- Clarify release branch maintenance tied to RHDH support lifecycle
- Remove incorrect Alt 3 claim about release branch creation timing

Assisted-by: Claude
@rm3l
rm3l marked this pull request as ready for review July 13, 2026 09:51
@rm3l
rm3l requested review from a team and gazarenkov July 20, 2026 09:52
@rm3l

rm3l commented Aug 3, 2026

Copy link
Copy Markdown
Member Author

Merging as discussed.

@rm3l

rm3l commented Aug 3, 2026

Copy link
Copy Markdown
Member Author

/retitle ADR-007: Branching strategy for rhdh-local development

@openshift-ci openshift-ci Bot changed the title ADR-006: Branching strategy for rhdh-local development ADR-007: Branching strategy for rhdh-local development Aug 3, 2026
@rm3l
rm3l merged commit 02b1e65 into redhat-developer:main Aug 3, 2026
1 check passed
@rm3l
rm3l deleted the feat/rhdh-local-branches-and-rhdh-versions branch August 3, 2026 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants