-
Notifications
You must be signed in to change notification settings - Fork 2
Release Workflow
Sara Gaudon edited this page Nov 12, 2019
·
1 revision
All features (and their corresponding issues) in progress are locked in around 1 week before release; no new features may be added after this point. This gives us a period to finish, test, and fine-tune the new feature branch.
1. git checkout develop / g dv
2. git pull --rebase / g plr
3. git branch release-vX.X.X / g b release-vX.X.X
4. git checkout release-vX.X.X / g co release-vX.X.X
5. git push -u origin release-vX.X.X (pushes new branch to remote)
Development for release continues on this release branch. If you accidentally commit release code to develop branch, cherry-pick it over to release-x-x-x And make sure to create your migration files / release notes
Feature development halts, all hands on deck to run final thorough testing
New features are stable and ready for release, all parties have signed off on testing. We merge our release branch to master, tag it, and delete the release branch. When all is done, we merge master back into develop.
1. git checkout master / g co master
2. git pull --rebase / g plr
3. git merge --no-ff release-vX.X.X / g m release-vX.X.X
4. npm version X.X.X (updates package.json version, commits and tags)
5. git push
6. git push --tags (pushes all tags to remote)
7. git branch -d release-vX.X.X / g b -d release-vX.X.X
8. git push origin :release-vX.X.X (deletes branch from remote)
9. git checkout develop / g dv
10. git merge --no-ff master / g m master
11. git push (push everything else)
Celebrate!