This documents the process for issuing and deploying a new release for learning.mozilla.org.
It assumes the following:
- You want to create release
0.0.4. - Your GitHub username is
toolness.
If this isn't the case, simply replace these values for your own. And if you want to make things a lot easier, you can generate a custom version of this document by running:
node lib/changelog.js release 0.0.4 toolness
These instructions also assume that your develop branch currently
contains the changes you want to release.
After running this changelog release command, run through the following steps:
-
Verify that the "Unreleased" section of
CHANGELOG.mdis 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 your
developcalledv0.0.4-rcand push it to your GitHub fork:git checkout -b v0.0.4-rc develop git push -u https://github.com/toolness/learning.mozilla.org.git v0.0.4-rc -
Issue a PR to merge your branch into
mastertitled "Tag and release v0.0.4". Paste in the latest changes from the topmost "Unreleased" section ofCHANGELOG.mdinto 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:node lib/changelog.js unreleased | pbcopyIf you're on Windows, just use
clipinstead ofpbcopy. -
Make sure that Travis thinks the PR looks good (i.e., all tests pass).
-
Wait for the stakeholders to sign-off on the release. Usually this just means @hannahkane, but if she's not around, consider asking @ldecoursy instead.
-
Update the version number in
package.jsonto0.0.4and then run:node lib/changelog.js bumpThis 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 production. -
Tag the release and push it to the official repository:
git tag -a v0.0.4 -F tag-message-v0.0.4.txt git push https://github.com/mozilla/learning.mozilla.org.git v0.0.4 -
Merge
v0.0.4-rcintodevelopon the official repository:git checkout develop git pull https://github.com/mozilla/learning.mozilla.org.git develop git merge v0.0.4-rc git push https://github.com/mozilla/learning.mozilla.org.git develop
Hooray, you're done!