This documents the process for issuing and deploying a new release for CALC.
It assumes you want to create release 0.0.4
.
If this isn't the case, simply replace this value for your own. Or
alternatively, run python manage.py releasehelp
to generate a
customized version of these instructions just for you.
To release version 0.0.4 of CALC:
-
Verify that the "Unreleased" section of
CHANGELOG.md
is up-to-date by comparing it against GitHub's commit list (you can see that by clicking on the "Unreleased" section heading), and then describe the changes in a human-meaningful form (see previous release entries for the appropriate level of human-friendliness).Feel free to move more important, less technical entries to the top of the list. Remember, it will be read by both developers and users, so avoid the use of jargon where possible.
-
Create a branch off
develop
calledv0.0.4-rc
and push it to GitHub:git checkout -b v0.0.4-rc develop git push -u https://github.com/18F/calc.git v0.0.4-rc
-
Issue a PR to merge your branch into
master
titled "Tag and release v0.0.4". Paste in the latest changes from the topmost "Unreleased" section ofCHANGELOG.md
into the description of the PR so stakeholders know what's changed. If you're on OS X, you can easily copy this to your clipboard with the following command:python manage.py unreleased_changelog | pbcopy
-
Make sure that all automated QA services (Travis CI, etc) think the PR looks good.
-
Wait for the stakeholders to sign-off on the release.
-
Update the version number in
hourglass/version.py
to0.0.4
and then run:python manage.py bump_changelog
This will create a new entry for the new version in
CHANGELOG.md
, and it will also output your new version's release notes totag-message-v0.0.4.txt
. -
Commit the changes to git and push them:
git commit -a -m "Release v0.0.4." git push
-
Merge the PR into
master
. Once Travis CI is finished, the site will be deployed to staging. -
Visit the staging instance and make sure all is functioning as expected.
-
Tag the release and push it to the official repository, which will trigger Travis CI to deploy the site to production:
git tag -a v0.0.4 -F tag-message-v0.0.4.txt git push https://github.com/18F/calc.git v0.0.4
-
Merge
v0.0.4-rc
intodevelop
on the official repository:git checkout develop git pull https://github.com/18F/calc.git develop git merge v0.0.4-rc git push https://github.com/18F/calc.git develop
Hooray, you're done!