Code reviews are carried out on github pull requests.
Any Juju core team member can review any pull request. However as the branch author it is your responsibility to ensure that the reviewer sufficiently understands the changes.
All branches prior to being landed need to have an approved review from another team member.
Approved branches can be merged using the
$$merge$$ comment by an team member.
The exception to this rule is simple forward or back porting of a fix, or merging a previous release branch forwards.
Sometimes, as happens when there are more than one person involved, there can be conflicting opinions on how to do things.
For very minor things, most of the time it doesn’t matter. As long as the code works and is well tested, we’re fine.
Sometimes it goes deeper than that. There are issues of code consistency to consider, and patterns of development within the codebase. Examples might include how we version API server facades.
The best way to resolve these issues is to get a call going between the branch author and reviewer to work through the issues.
In the severest of cases, a reviewer can block the landing by a
-1 comment, or
In these situations if the conflict can’t be resolved between the author and reviewer, escalate to the appropriate managers.
A review that has been blocked should not be landed without the reviewer that has given the removing the block.