Skip to content

Document release branch workflow in CONTRIBUTING.md - #600

Merged
pelesh merged 4 commits into
developfrom
slaven/release-branch-management
Oct 1, 2026
Merged

pelesh merged 4 commits into
developfrom
slaven/release-branch-management

Conversation

@pelesh

@pelesh pelesh commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

Description

CONTRIBUTING.md documents feature branches but not how release branches are created and merged. This is a documentation-only change.

Closes #598

Proposed changes

Adds two sections to CONTRIBUTING.md after "Deleting your feature branch", based on the git branching model at https://nvie.com/posts/a-successful-git-branching-model/:

  • Creating a release branch: branch release-<version> from develop, update version and CHANGELOG, allow only bug fixes and release preparation.
  • Merging a release branch: merge into main (tag the merge commit) and back into develop, always with a merge commit (no squash or rebase) so both branches share the release commits as common ancestors. Subsections cover merging into main, merging into develop, and handling release-only fixes.

One deviation from the nvie model: release branches are kept after merging and reused for patch releases instead of creating hotfix branches.

Checklist

  • All tests pass. (documentation only)
  • Code compiles cleanly with flags -Wall -Wpedantic -Wconversion -Wextra. (documentation only)
  • The new code follows GridKit™ style guidelines. (documentation only)
  • There are unit tests for the new code. (not applicable)
  • The new code is documented.
  • The feature branch is rebased with respect to the target branch.
  • N/A The CHANGELOG.md has been updated to reflect the changes. Minor documentation change; CHANGELOG not updated.

Further comments

The no-squash rule is deliberate: squashing a release branch into main gives main and develop no shared ancestry for the release, causing spurious conflicts on later merges.

🤖 Generated with Claude Code

@pelesh pelesh self-assigned this Oct 1, 2026
@pelesh pelesh added documentation Improvements or additions to documentation development Features/Tools related to development of GridKit, rather than use as a library. labels Oct 1, 2026

@nkoukpaizan nkoukpaizan left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good! A couple of minor suggestions.

Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
pelesh and others added 3 commits October 1, 2026 15:23
Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
Co-authored-by: Nicholson Koukpaizan <72402802+nkoukpaizan@users.noreply.github.com>
@pelesh
pelesh merged commit e8def28 into develop Oct 1, 2026
@pelesh
pelesh deleted the slaven/release-branch-management branch October 9, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

development Features/Tools related to development of GridKit, rather than use as a library. documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document release branch workflow in CONTRIBUTING.md

2 participants