| 
 | 1 | +# Release  | 
 | 2 | + | 
 | 3 | +Releases 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 | + | 
 | 10 | +Since the majority of the actual release process is automated, the primary  | 
 | 11 | +remaining task prior to releasing is confirming that all pull requests that  | 
 | 12 | +have 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  | 
 | 14 | +represent something that would make sense to our users. Some great information  | 
 | 15 | +on why this is important can be found at  | 
 | 16 | +[keepachangelog.com](https://keepachangelog.com/en/1.0.0/), but the overall  | 
 | 17 | +guiding principles here is that changelogs are for humans, not machines.  | 
 | 18 | + | 
 | 19 | +When 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 | + | 
 | 31 | +Once 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  | 
 | 38 | +volta install release-it  | 
 | 39 | +
  | 
 | 40 | +# using Yarn  | 
 | 41 | +yarn global add release-it  | 
 | 42 | +
  | 
 | 43 | +# using npm  | 
 | 44 | +npm install --global release-it  | 
 | 45 | +```  | 
 | 46 | + | 
 | 47 | +* Second, ensure that you have installed your projects dependencies:  | 
 | 48 | + | 
 | 49 | +```  | 
 | 50 | +# using yarn  | 
 | 51 | +yarn install  | 
 | 52 | +
  | 
 | 53 | +# using npm  | 
 | 54 | +npm install  | 
 | 55 | +```  | 
 | 56 | + | 
 | 57 | +* And last (but not least 😁) do your release:  | 
 | 58 | + | 
 | 59 | +```  | 
 | 60 | +release-it  | 
 | 61 | +```  | 
 | 62 | + | 
 | 63 | +[release-it](https://github.com/release-it/release-it/) manages the actual  | 
 | 64 | +release process. It will prompt you through the process of choosing the version  | 
 | 65 | +number, tagging, pushing the tag and commits, etc.  | 
0 commit comments