262
263
`juju` uses the `gocheck` testing framework. `gocheck` is automatically
263
264
installed as a dependency of `juju`. You can read more about `gocheck`
264
at http://go.pkgdoc.org/pkg/launchpad.net/gocheck. `gocheck` is integrated
265
at http://godoc.org/gopkg.in/check.v1. `gocheck` is integrated
265
266
into the source of each package so the standard `go test` command is used
266
267
to run `gocheck` tests. For example
356
A branch needs at least one approval review in order to land. By
357
convention, this is signaled by `LGTM` in a review comment. In the rare
358
case where a proposal has an issue that means it should not land,
359
`NOT LGTM` can be used as a veto. Often several rounds of suggestions are
360
made without either marker, and `LGTM` is added when the comments are
363
After a proposal has received an `LGTM`, the landing must be notified to
364
test and merge the code into master. This is done by a member of the
365
juju project adding the magic string `$$merge$$` in a comment.
357
The juju project uses peer review of pull requests prior to merging to
358
facilitate improvements both in code quality and in design. The code
359
review tool is ReviewBoard, hosted at http://reviews.vapour.ws/. In the
360
event that the site is down, the project will temporarily fall back to
361
github for reviews of critical pull requests.
363
A review request is automatically created for every pull request. A
364
link to that review request is added to the body of the pull request.
365
Whenever the pull request is updated, the review request is likewise
366
updated. Thus for the normal workflow of contribution, there should
367
be no need to worry about creating or updating review requests.
369
Once you have created your pull request, it will be reviewed. Make sure
370
to address the feedback. Your request might go through several rounds
371
of feedback before the patch is approved or rejected. Once you get a
372
"ship it" from a member of the juju project, and there are not any
373
"NOT LGTM" comments in ReviewBoard or github, you are ready to have your
374
patch merged by a member of the juju team. Congratulations!
376
The code review site uses github OAuth for authentication. To log in
377
simply go to login page and click the "github" button. The first time
378
you do this, it will redirect you to github to approve access and then
379
redirect you back. This first time is the only one where you will be
380
redirected to github. Furthermore, ReviewBoard will keep you logged in
381
between visits via session cookies.
383
That first time you log in, a ReviewBoard account will be created for
384
you using your github username. However, your email address is not
385
added. If you want to receive review-related email, be sure to add your
386
email address to your ReviewBoard profile.
388
For more information on ReviewBoard see:
390
doc/contributions/reviewboard.md
367
392
Continuous integration
368
393
----------------------