This repository was archived by the owner on Dec 7, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 364
Release process
Alice edited this page Oct 19, 2015
·
8 revisions
WARNING: This doc is a work in progress. Please DO NOT follow these instructions just yet!
We have a two-phase release process:
prereleaserelease
Before running any grunt release tasks, it's a good idea to make sure you're correctly authenticated using SSH keys and that ssh-agent is running: https://help.github.com/articles/generating-ssh-keys/
This will avoid getting to the end of the script and then mis-typing your ssh passphrase!
% eval "$(ssh-agent -s)" # start the ssh-agent in the background
Agent pid 59566
% ssh-add ~/.ssh/id_rsa #Add your SSH key to the ssh-agent- Check that everything is up to date:
a11y-devtools % rm -rf node_modules && npm cache clean && npm install # if closure compiler may be out of date
a11y-devtools % npm update # otherwise
a11y-devtools % git checkout master
a11y-devtools % git fetch
a11y-devtools % export UPSTREAM=upstream # Or whatever you called your upstream remote
a11y-devtools % git reset --hard $UPSTREAM/master # in case your local copy got into a weird state- Run the
prereleasegrunt task frommaster:
a11y-devtools % grunt release:prerelease # for a patch release, or
a11y-devtools % grunt release:preminor # for a minor release, or
a11y-devtools % grunt release:premajor # for a major release- If you've already created a release candidate, always run the
prereleasetask to bump the RC version. For example, to go from2.10.0-rc.0to2.10.0-rc.1, update yourmasterbranch as above, and then run
a11y-devtools % grunt release:prereleaseThis should happen two weeks after the last prerelease task was run.
- Bring the
releasebranch up to date with the last release candidate. Check the correct release tag by looking at the latest draft release and finding the most recent tag with that version. For example, if the latest draft release is for2.8.0and there are tagsv2.8.0-rc.0andv2.8.0-rc.1, choose the latter.
a11y-devtools % git fetch
a11y-devtools % git checkout -t origin/release # if you don't already have the release branch mapped
a11y-devtools % git checkout release # otherwise
a11y-devtools % git reset --hard origin/release # if you might have gotten into a weird state
a11y-devtools % git pull # otherwise
a11y-devtools % git merge <latest_rc_tag>- Run the
releasegrunt task -
a11y-devtools % grunt release:patch # for a patch release, or
a11y-devtools % grunt release:minor # for a minor release, or
a11y-devtools % grunt release:major # for a major release- Bring
masterup to date withrelease(to keepdist/axs_testing.jsup to date).
This can be done either via the interface or via the command line. Note that you will likely need to do a manual merge for the Changelog, assuming there have been commits since the prerelease was cut.