Fourth iteration of the Storybook release process (v1, v2, v3), updated to reflect learnings from the 4.0 release.
- We respect semver for all releases to the best of our ability
release/x.y
(e.g.release/3.4
) branch is released as a patch every week (e.g.3.4.X
)master
is released on thealpha
tag every week (e.g.4.0.0-alpha.X
)- All major/minor releases get a blog post (e.g. 3.2)
- Release much more often, follow semver but don't worry about batching up changes -- focus on steady improvement.
- Two branches:
master
andnext
.master
contains the current stable release.next
is the default branch, and contains the next release. - Workflow between
next
andmaster
is identical to the previous workflow betweenmaster
andrelease/X.Y
(cherry-pick patches as needed). The existing setup is confusing, and we hope that the new setup is slightly less confusing. - Release from
next
to thenext
NPM tag every week. Will use suffixes likealpha/beta/rc
to denote status, e.g.4.1.0-alpha.0
would be releasednext
tag. - Release from
master
to thelatest
NPM tag every week and/or coordinating with a release post for minor releases. - Set minor release dates as soon as we have feature clarity and manage to those dates:
- Date should be a Monday so if we slip we don't get pushed into the weekend
- T-3wk:
- Draft announcement and socialize
- Announce dates in
#maintenance
so people can reat
- T-1wk:
- If you want your feature in the release, it should already be released on
next
by this time - Create release branch and only cherrypick bugfixes
- Set up launch plan
- If you want your feature in the release, it should already be released on
- Issue all PRs against the
next
branch. - We'll cherry-pick bugfix and documentation PRs into
master
as appropriate.