-
Notifications
You must be signed in to change notification settings - Fork 138
How to submit Sync Gateway pull requests
Traun Leyden edited this page Dec 12, 2017
·
3 revisions
This doc assumes that:
- You have the ability to push branches to the Sync Gateway github repo
- You are changing both Sync Gateway and a dependent repo (eg, Blip).
- Create a branch off of master, typically these are named
feature/issue_xyz_description
, for example:feature/issue_3136_blip_compression
- Make your changes
- Push your branch up to github
- 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. - Open a PR against your branch on the dependent repo
- Repeat steps 1-4 from the "Required steps for dependent repo", but on the Sync Gateway repo.
- NOTE: you can use the same name for the Sync Gateway branch as you used on the dependent repo, 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. Typically you'll have a single Sync Gateway issue and recycle that issue ID on dependent repos.
- 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 onfeature/issue_3136_blip_compression
.- 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.
- If you're adding a brand new dependency, you will have to make additional changes to
- Push the updated
manifest/default.xml
to your feature branch on github - Open a PR against your branch on the Sync Gateway repo
- A Drone CI build will be kicked off automatically that will build the code and run the unit tests against Walrus.
- If the Drone CI build succeeds, then assign the PR to a reviewer. (note: the status of the Drone CI build will be in the PR)
- Kick off the integration tests on http://uberjenkins.sc.couchbase.com/view/Build/job/sync-gateway-integration-master/build?delay=0sec
- Kick off the code coverage build on http://uberjenkins.sc.couchbase.com/view/Build/job/sync-gateway-coverage/