Content
Long-form reading in IBM Plex. Running text scales with the size; headings keep their size.
Default · 16/26
Shipping a release branch
A release branch freezes what goes out while main keeps moving. This guide walks through cutting one, fixing it in place and merging the fixes back.
Cut the branch
Start from a green build on main. In kelin, open the branch menu and choose New branch, or run kelin branch create release/2.4 from the terminal. The branch gets its own channel, so release talk stays out of #general.
Before you announce it, check three things:
- The last build on the branch passed.
- Preview deploys point at the staging database, not production.
- The version in
package.jsonmatches the branch name.
Freeze the scope
From now on, only fixes land on the branch. Each fix goes through a pull request with therelease label, which keeps the changelog honest.
A release branch is a promise about what will not change. Keep it small enough to keep.
When a fix is urgent
- Open the pull request against
release/2.4, notmain. - Ask for one review in the release channel.
- Merge after the build passes; kelin posts the result in the channel.
Track the builds
Build times for the last four release branches, measured on the same runners:
| Branch | Builds | Median | Failed |
|---|---|---|---|
release/2.4 | 38 | 4m 03s | 2 |
release/2.3 | 52 | 4m 41s | 5 |
release/2.2 | 47 | 5m 12s | 3 |
release/2.1 | 61 | 6m 08s | 9 |
Merge the branch back into main when the release is out. If the merge has conflicts, resolve them on main so the release history stays linear.
sm · 15/24
Freeze the scope
Only fixes land on release/2.4. Each one goes through a pull request with therelease label; see the release guide for the checklist.
A release branch is a promise about what will not change.
When a fix is urgent
- Open the pull request against the release branch.
- Merge after the build passes.
lg · 18/28
Freeze the scope
Only fixes land on release/2.4. Each one goes through a pull request with therelease label; see the release guide for the checklist.
A release branch is a promise about what will not change.
When a fix is urgent
- Open the pull request against the release branch.
- Merge after the build passes.