# Release checklist
## Beta release
- [ ] `git flow release start <VERSION_NUMBER>` (`<VERSION_NUMBER>` prefixed with `v` and add `-beta.1` for beta)
- [ ] Check that all new changes are reflected in the changelog
- [ ] Bump package.json version to `<VERSION_NUMBER>` excluding prefix `v` and including the `-beta.1` suffix
- [ ] `nvm ls` Make sure you are on node v10+ 
- [ ] `npm run build`
- [ ] `npm run test`, make sure all tests are passing
- [ ] Commit changes
- [ ] `npm publish --tag beta`
- [ ] Make sure your `master` and `develop` branches are up-to-date
- [ ] `git flow release finish <VERSION_NUMBER>` 
- [ ] `git push origin develop`
- [ ] `git push origin --tags`
- [ ] `git checkout master`
- [ ] `git checkout -b master-test`
- [ ] `git push origin master-test`
- [ ] Wait for checks to finish on pushed `master-test` branch
- [ ] `git checkout master`
- [ ] `git push origin master`
- [ ] `git branch -D master-test`
- [ ] `git push origin :master-test`
- [ ] Announce availability in #engineering and on the forum here: https://forum.blockstack.org/c/releases (Include a link to the changelog)
- [ ] Announce availability to the community via Jenny Mith <jenny@blockstack.com> and Mitchell Cuevas <mitchell@blockstack.com>. Provide a succinct list of changes, the link to the changelog and latest release as well as a desired date for the community update.

## Production Release
- [ ] `git flow release start <VERSION_NUMBER> master` (`<VERSION_NUMBER>` prefixed with `v`)
- [ ] Check that all new changes are reflected in the changelog
- [ ] Bump package.json version to `<VERSION_NUMBER>` without prefix `v`
- [ ] `nvm ls` Make sure you are on node v10+ 
- [ ] `npm run build`
- [ ] Make sure `dist/blockstack.js` exists
- [ ] `npm run test`, make sure all tests are passing
- [ ] Commit changes
- [ ] `npm publish`
- [ ] Make sure your `master` and `develop` branches are up-to-date
- [ ] `git flow release finish <VERSION_NUMBER>` 
- [ ] `git checkout develop`
- [ ] `git merge master`
- [ ] `git push origin develop`
- [ ] `git push origin --tags`
- [ ] `git checkout master`
- [ ] `git checkout -b master-test`
- [ ] `git push origin master-test`
- [ ] Wait for checks to finish on pushed `master-test` branch
- [ ] `git checkout master`
- [ ] `git push origin master`
- [ ] `git branch -D master-test`
- [ ] `git push origin :master-test`
- [ ] Announce availability in #engineering and on the forum here: https://forum.blockstack.org/c/releases (Include a link to the changelog)
- [ ] Announce availability to the community via Jenny Mith <jenny@blockstack.com> and Mitchell Cuevas <mitchell@blockstack.com>. Provide a succinct list of changes, the link to the changelog and latest release as well as a desired date for the community update. Consider doing an AMA on major/breaking releases.
