Skip to content

How to submit Sync Gateway pull requests

Traun Leyden edited this page Dec 12, 2017 · 3 revisions

This doc assumes that:

  1. You have the ability to push branches to the Sync Gateway github repo
  2. You are changing both Sync Gateway and a dependent repo (eg, Blip).

Required steps for dependent repo

  1. Create a branch off of master, typically these are named feature/issue_xyz_description, for example: feature/issue_3136_blip_compression
  2. Make your changes
  3. Push your branch up to github
  4. If a lot of time has passed between creating the feature branch and the time when you are about to push it, you should do a git pull --rebase to rebase your branch off of the latest master branch.
  5. Open a PR against your branch

Required steps for Sync Gateway repo

  1. Repeat steps 1-4 from the "Required steps for dependent repo", but on the Sync Gateway repo. You can name the branch the same, or change the issue number in the branch name to match the Sync Gateway issue number. (just make sure it's clear from the branch name which issue is being addressed)
  2. Update the manifest/default.xml to point to the latest commit of your feature branch for the dependent repo. From the example above, that would be the latest commit on feature/issue_3136_blip_compression.
    1. If you're adding a brand new dependency, you will have to make additional changes to manifest/default.xml to add a new dependent repo.
  3. Push the updated manifest/default.xml to your feature branch on github
  4. A Drone CI build will be kicked off automatically that will build the code and run the unit tests against Walrus
  5. If the Drone CI build succeeds, then assign the PR to a reviewer

Optional steps

  1. Kick off the integration tests on http://uberjenkins.sc.couchbase.com/view/Build/job/sync-gateway-integration-master/build?delay=0sec
  2. Kick off the code coverage build on http://uberjenkins.sc.couchbase.com/view/Build/job/sync-gateway-coverage/
Clone this wiki locally