-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Release process
-
Ensure all relevant PRs have merged to
master
. -
Create release branch based off latest
master
. Use SemVer to come up with the next version number:[major].[minor].[patch]
(all three numbers are required).git checkout master git pull git checkout -b release/[version number]
-
Compile the monorepo with
yarn compile-libs
. -
Compile the publishable distributions and copy over artifacts to the gh-pages folder with
yarn dist
. -
Update the root
package.json
version (match core's version, or bump a patch version if core wasn't changed). -
Review and commit the changes.
git commit -a -m "Prepare release v[version number]"
- Create a PR on GitHub. Write the release notes in the description.
- Perform regression pass on the release preview artifacts.
- Merge the release PR.
- With the latest docs built locally (
yarn dist
), runyarn deploy
to push changes to the live site hosted from themaster
branch.
See other releases for example format. We typically describe changes using the following groups:
- 🔥 BREAKING
- NEW
- Fixed
- Changed
- Deprecated
A 🌟 is used to indicate release highlights: features or fixes of particular note.
A useful way to determine exactly what happened in a release is to diff the commits with the previous version or use the relevant milestone.
- Run
lerna publish --skip-npm --scope '@blueprintjs/{core,datetime,labs,table}'
(or some appropriate subset of the packages). - Interactively pick version numbers.
- Review the commit which Lerna just produced.
- Manually audit the dependencies between packages. This is an important step as not all packages need to depend on the latest version of the core package.
⚠️ Lerna updates transitive package dependencies, so you'll need to revert those changes (unlessdatetime
does actually require the latest version ofcore
, for instance).
- Push to master with tags:
git push origin master --follow-tags
. - Attach release notes to the new tags which were produced in the Github UI.
- react-day-picker v8 migration
- HotkeysTarget & useHotkeys migration
- PanelStack2 migration
- Table 6.0 changes