Development_Rose Reviews - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki

Reviewing Rose Suites

Since Rose & Cylc are such new tools for the ACCESS community we're still in the process of developing good standards for how suites should look and work. One of the ways we can do this is through peer-reviews of each other's suites, which allows knowledge of how to best use these tools to be shared.

Requesting a Review

rose review

We've created a plugin tool for Rose that will submit a suite to our code review site at https://accessdev.nci.org.au/review. Using the tool is easy -- just run rose review from within a checked-out Rose suite:

$ rosie checkout au-aa123
$ cd ~/roses/au-aa123

# Make your changes ...

$ rose review
Review request #234 posted
https://accessdev.nci.org.au/review/r/234/

rose review will tell you the ID number for the review you've just created, as well as give you a direct URL to the review website.

Review details

Once the review has been uploaded you should go to the review URL and give potential reviewers an idea of what they should review.

new-review.png

The page has quite a few fields, however only two are mandatory: the request summary and description. By default the request summary will be set to your Rose suite's ID and title, but you can change this if there's a specific part you'd like reviewed.

Once you've got a good summary fill in the full description to give reviewers a good idea of what they're looking at. You can also use the 'Testing Done' field to show what happens when you try running the suite if it's currently giving errors. Once you've filled in the description you can submit the review for others to look at using the 'Publish' button at the top of the screen.

filled-review.png

Your Suite is Reviewed

Your suite's files are available to view using the 'View Diffs' button in the top right (the button swaps between viewing the diff and the list of reviews)

review-progress.png

Updating the Review

Once reviewers have had a look at your suite you'll see a list of all the changes they've recommended.

review-list.png

With this list in hand you can go back to your suite and make any necessary changes. 'rose review' can then be used to update the review request with these new changes:

# Make any requested fixes & commit your changes

$ rose review --update 234
Review request #234 posted
https://accessdev.nci.org.au/review/r/234/

The changes will then show up in the Diff viewer, you can use the slider on that page to view code differences between different versions

review-changes.png

Ship it!

Once the reviewers are happy with your suite they can use the 'Ship it!' button to approve it

Full Reviews vs. Incremental Reviews

$ rose review --revisions 456:HEAD
Review posted to https://accessdev.nci.org.au/review/r/345

We should clarify exactly how users should use the tool for the development life of a suite.

Need to decide whether we follow a pre-commit or post-commit review model or both.

eg

Creation of Suite
User requests a review
Reviewers review suite.
If reviewers have requested changes: a) Update the code in your tree and generate a new diff. b) Upload the new diff. How to do this???? c) Publish the new diff. 

Jump back to step 2.

  1. If reviewers are happy with changes the approve it by selecting "Ship it"

  2. User commits the suite into the the repository.

I know some of this is in the reviewboard help. But it would be helpful to have clear steps and what to do at each step.# Attachments