In many projects, it's painful to ensure that all unit tests are run on every patch before committing. Add to this some other basic checks:
- no new javac compiler warnings
- no new Findbugs warnings
- zero javadoc warnings
- zero @author attributions
and committing patches becomes very painful and time consuming indeed.
Something that painful, of course, is begging to be automated -- and that's exactly what we did with our patching process for the Hadoop project.
Every patch for Hadoop must be attached to a Jira issue. When a Jira issue is moved into the Patch Available state by a developer, the Hadoop continuous integration server automatically picks up the issue's latest patch, applies it to a fresh checkout of trunk, builds the software, runs all the unit tests, and verifies all the other items listed above. Once the build and testing is complete, a comment like this is automatically added to the Jira issue:
Read More »from If it hurts, automate it-1 overall. Here are the results of testing the latest