UNPKG

1.94 kBMarkdownView Raw
1# Release
2
3Releases are mostly automated using
4[release-it](https://github.com/release-it/release-it/) and
5[lerna-changelog](https://github.com/lerna/lerna-changelog/).
6
7
8## Preparation
9
10Since the majority of the actual release process is automated, the primary
11remaining task prior to releasing is confirming that all pull requests that
12have been merged since the last release have been labeled with the appropriate
13`lerna-changelog` labels and the titles have been updated to ensure they
14represent something that would make sense to our users. Some great information
15on why this is important can be found at
16[keepachangelog.com](https://keepachangelog.com/en/1.0.0/), but the overall
17guiding principles here is that changelogs are for humans, not machines.
18
19When reviewing merged PR's the labels to be used are:
20
21* breaking - Used when the PR is considered a breaking change.
22* enhancement - Used when the PR adds a new feature or enhancement.
23* bug - Used when the PR fixes a bug included in a previous release.
24* documentation - Used when the PR adds or updates documentation.
25* internal - Used for internal changes that still require a mention in the
26 changelog/release notes.
27
28
29## Release
30
31Once the prep work is completed, the actual release is straight forward:
32
33* First ensure that you have `release-it` installed globally, generally done by
34 using one of the following commands:
35
36```
37# using https://volta.sh
38volta install release-it
39
40# using Yarn
41yarn global add release-it
42
43# using npm
44npm install --global release-it
45```
46
47* Second, ensure that you have installed your projects dependencies:
48
49```
50# using yarn
51yarn install
52
53# using npm
54npm install
55```
56
57* And last (but not least 😁) do your release:
58
59```
60release-it
61```
62
63[release-it](https://github.com/release-it/release-it/) manages the actual
64release process. It will prompt you through the process of choosing the version
65number, tagging, pushing the tag and commits, etc.