This document contains step-by-step details for how to release Habitat. All components are released from the master branch on a bi-weekly schedule occurring every other Thursday.
-
Clone the Habitat repository if you do not already have it
$ git clone git@github.com:habitat-sh/habitat.git ~/code/habitat
-
Ensure you are on the master branch and have the latest of
~/habitat
$ cd ~/habitat $ git checkout master $ git pull origin master
-
Create a new release branch in the Habitat repo
$ cd ~/habitat $ git checkout -b <branch>
-
Remove the
-dev
suffix from the version number found in theVERSION
file$ vi ~/habitat/VERSION
-
Generate a new
CHANGELOG.md
$ export GITHUB_TOKEN=<your-token> $ make changelog
-
Commit the
CHANGELOG.md
andVERSION
changes and push your branch -
Issue a new PR await approval (in the form of a dank gif) from two maintainers
-
Pull master once again once the PR is merged into master
-
Create & push a Git tag
$ make tag-release $ git push origin --tags
Create release in GitHub
On the Github releases page, there should already be a tag for the release (pushed up previously). Draft a new Release, specify the tag, and title it with the same (eg, 0.18.0). Then hit Publish Release.
- Update the version number found in the
VERSION
file to the next target release and append the-dev
suffix to that number - Issue a PR and merge it yourself
Example: If the release version was
0.9.0
then the contents ofVERSION
might read0.10.0-dev
if your next target is0.10.0
.
- Create a new post in Habitat Announcements
- Message Slack channels and include the link to the release post
- cft-announce (Chef Slack)
- eng-announce (Chef Slack)
- product-marketing (Chef Slack)
- general (Habitat Slack)
- announcements (Habitat Slack)
- Tweet a link to the announcement @habicatsh