We are all awaiting the day when all of us can get TravisCI Pro and get all of that testing goodness into our private repositories right? And by that I mean, having our PRs annotated with build status, running automated tests and such.
Well, there is a work around to it, if you use Jenkins as your CI server. We have now set this up on our private repositories and it works like a charm!
Setting up Jenkins to annotate PRs
Considering you already have a setup of Jenkins that works with GitHub repositories but does builds based on watching master, this is what you need to get going with annotating PRs:
- Upgrade Jenkins to v1.500+
- Install the GitHub pull request builder plugin
- Follow the setup steps detailed on that page.
- Admins and whitelist users should be placed one per line.
- In global settings: you can leave Access Token blank
- Your “bot” user must have pull/push permissions
- Sit back and watch PR annotation goodness
- I do recommend that you make this a simple build: unit tests and coding standard checks only, you want this to be quick, so I also turn off code coverage analysis.
This is what shows up on our PRs:
You can also use comments to trigger re-builds, or allow builds on non-whitelist uses.