Channable boosted their pull request review process with Reviewpad, resulting in faster merging, fairer workloads, and fewer mistakes.
Channable is an all-in-one e-commerce marketing platform. Channable connects online retailers to more than 2500 price comparison sites and marketplaces like e.g. Amazon, Ebay, and Google Shopping. We also offer powerful product data optimization capabilities, which allow retailers to create optimized Google Ad campaigns. These campaigns can be optimized using Channable Insights, which gives retailers a clear overview of the costs and revenues of each channel, which results in higher ROI and faster e-commerce growth.
At Channable, we encourage our developers to own their PRs. This means that the creator of the PR chooses who reviews the PR, and asks for specific feedback. When the PR has been reviewed sufficiently, the creator of the PR is responsible for merging and deploying it. We try to provide the best tooling to our developers to make sure this is a smooth process, and to prevent human error as much as possible. We already had tooling in place for automated testing and deployment and a mergebot that makes sure master is always green, but the review process itself remained a mostly manual process.
“Reviewpad allows us to get our code merged faster, by automating reviewer assignment in a fair way.“
Reviewpad is now in use to automatically assign reviewers based on the code that was changed in a pull request. This is much like GitHub‘s CODEOWNERS file, but more refined. By using Reviewpad, we have some more freedom on when to assign a reviewer, and who. GitHub‘s code owners feature always assigns all code owners as reviewers for all pull requests that touch some code. This would be too heavy a load on engineers. Instead, we use Reviewpad to select a round-robin reviewer from the relevant project teams. Reviewpad also gives some freedom in deciding when not to automatically request reviews, such as when there are already some outstanding review requests.
“Reviewpad has automated our PR review requests much better than GitHub‘s codeowners feature could.“
Infra team lead, Channable
Regarding the automatic review requests, we have seen that review requests have become more fair, meaning that each project team member is equally likely to be requested to review a PR. It also helps PRs get merged faster, since a review is requested as soon as the PR is created. We‘re satisfied with this result. One downside is that it is hard to scale this review request system to a large number of different teams, due to the structure of the
We like to label PRs in our monorepo with the name of the subproject that was changed, such that developers can easily find relevant PRs. Before we started using Reviewpad, this was a manual process, and often developers forgot to place the right tags, leading to other developers missing relevant PRs. Reviewpad automatically labels the PRs based on the contents, saving time and preventing mistakes.
Reviewpad also reminds our developers of often occurring problems that cannot be caught by CI. Examples are reminders to remove one-off blocks from configuration-as-code code, and reminders to add newly added environment variables to our secret management service.
“Since Reviewpad labels our PRs, finding back PRs became much easier.“
Rick van Hoef
DevOps Engineer, Channable