ReviewBoard is now the official review tool for juju

Eric Snow eric.snow at canonical.com
Sun Sep 14 02:45:12 UTC 2014


Hi all,

Starting now new code review requests should be made on
http://reviews.vapour.ws (see more below on creating review requests).
We will continue to use github for everything else (pull requests,
merging, etc.).  I've already posted some of the below information
elsewhere, but am repeating it here for the sake of reference.  I plan
on updating CONTRIBUTING.md with this information in the near future.
Please let me know if you have any feedback.  Happy reviewing!

-eric

Authentication
--------------
Use the Github OAuth button on the login page to log in.  If you don't
have an account yet on ReviewBoard, your github account name will
automatically be registered for you.  ReviewBoard uses session
cookies, so once you have logged in you shouldn't need to log in again
unless you log out first.

For the reviewboard commandline client (rbt), use your reviewboard
username and a password of "oauth:<username>@github".  This should
only be needed the first time.

RBTools
--------------

ReviewBoard has a command-line tool that you can install on your local
system called "rbt".  rbt is the recommended tool for creating and
updating review requestsion.  The documentation covers installation
and usage.  It has satisfied my questions thus far.

https://www.reviewboard.org/docs/rbtools/0.6/

The key sub-command is "post" (see rbt post -h).

To install you can follow the instructions in the rbtools docs.  You
can also install using pip (which itself may need to be installed
first):

$ virtualenv ~/.venvs/reviewboard ~/.venvs/reviewboard/bin/pip install
--allow-unverified rbtools --allow-external rbtools rbtools
$ alias rbt='~/.venvs/reviewboard/bin/rbt'

(you could just "sudo pip install" it, but the --allow-unverified flag
makes it kind of sketchy.)

Workflow
---------------

1. Create a pull request like normal via github.
2. Run "rbt pull" while at your branch to create a review request.
  - if the repo does not have a .reviewboardrc file yet, you'll need
to run "rbt setup-repo".
  - make sure your branch is based on an up-to-date master.
  - if the revision already has a review request you will need to
update it (see below).
3. open the review request in your browser and "publish" it.
  - alternately use the rbt --open (-o) and/or --publish (-p) flags.
4. add a comment to the PR with a link to the review request.
5. address reviews until you get a "Ship It!" (like normal, with LGTM).
6. add a $$merge$$ comment to the PR (like normal).

Keep in mind that the github-related steps aren't strictly necessary
for the sake a getting a code review.  They are if you want to merge
the patch though. :)  I mention this because sometimes you want a
review on something for which you can't create a decent PR in github
(see "Patch Series" below).

Updates
--------------
To update a review request use "rbt pull -u" or "rbt pull -r #".  This
will update the corresponding existing review request.

Note: Reviewboard links revision IDs to review requests.  So if you
already have a review request for a particular revision (e.g. your
branch), then a simple "rbt post" will fail.

Patch Series
-------------
Sometimes you have one branch that depends on another, or perhaps
several such forming a chain of branches.  While github does not cope
well with this, ReviewBoard does just fine.  Use the parent flag: rbt
post --parent <parent branch>.

Workflow Automation
--------------
Currently we do not have any integration set up between reviewboard
and github.  However, we plan on doing so later, at which point you
won't need to create/update review requests manually.  There is other
automation we could target, but that can be addressed later.

Email
---------------
ReviewBoard is currently set up to send out notification emails.
However, currently registered users do not have an email address set.
So if you want to get review-related email, please make sure you set
your account's email address in ReviewBoard.

SSL
---------------
We working out the details of precuring an SSL certificate for
reviews.vapour.ws.  We have a self-signed cert, but that isn't a
long-term solution and makes browsers fussy, so we are going to wait
on a CA-signed cert.  Once we switch over the URL will change to
https://reviews.vapour.ws.  However, that should be relatively
transparent because reviewboard will automatically redirect to https
at that point.



More information about the Juju-dev mailing list