Development and Release Workflow

Yanzheng Li edited this page Sep 12, 2016 · 5 revisions

Development Workflow

Here are the steps to follow if you'd like to contribute to the codebase:

  1. Start off a branch based on the latest master branch. The branch name should be in the format of "[TICKET IDENTIFIER]_DESCRIPTION". For example: SNEAKER-70_fix_include_orders.
  2. Work on your branch until you are satisfied with your changes. Make sure the build is successful and all tests pass.
  3. Push it once you feel like it's ready to be reviewed.
  4. Create a pull request based on that commit.
  5. Your pull request will be reviewed. You are welcomed to iterate on it until the reviewers agree to merge it.
  6. Once it's approved by the reviewers, it will be merged to the master branch.

To manually merge a branch's change into the master branch:

git fetch origin && git merge origin/master
git diff origin/master > diff.patch
git checkout master && git rebase origin/master
git apply --apply --index diff.patch

git commit -m "[SNEAKER-XX] Commit message (Closes #XXX)"
git push origin master

Release Workflow

Here are the steps for releasing a new version:

  1. Run make to build the binary.
  2. Run make test to build and run all the tests, and make sure they all pass.
  3. Update the appropriate documentation pages under docs/ for the changes in this release.
  4. Update the version number in include/version.h.
  5. Update the version number in the top level Makefile.
  6. Update the version number, and all other necessary changes in README.md.
  7. Commit the change, with the commit message be Version x.x.x.
  8. Create an annotated tag with git tag -a vx.x.x -m "Version x.x.x".
  9. Push the change.
  10. Run make install to install the newest version (optional).
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.