= Advantages of Jenkins over Buildbot = [http://jenkins-ci.org/ Jenkins] and [http://trac.buildbot.net Buildbot] are both continuous-integration servers. WebKit currently uses Buildbot at http://build.webkit.org/. This page lists some advantages switching to Jenkins would bring. == Annotating build failures == As described in [https://bugs.webkit.org/show_bug.cgi?id=59527 bug 59527], we'd like to be able to annotate build failures to show whether someone is working on them. Jenkins's [https://wiki.jenkins-ci.org/display/JENKINS/Claim+plugin Claim plugin] would let us do just that. == Build times == Jenkins has built-in support for tracking the length of the build over time and graphing it. == Code coverage statistics == Jenkins's [https://wiki.jenkins-ci.org/display/JENKINS/Cobertura+Plugin Cobertura plugin] combined with [http://nedbatchelder.com/code/coverage/ coverage.py] would allow us to track code coverage statistics for our Python unit tests. See [https://builds.apache.org/job/Cassandra-Coverage/192/cobertura/ an example from Apache's Jenkins server]. You can even see [https://builds.apache.org/job/Cassandra-Coverage/192/cobertura/org_apache_cassandra_db_index/SecondaryIndexBuilder_java/ individual lines of code that are or are not tested]. == Determining when a test started failing == Jenkins has built-in support for determining when a test started failing, and will link you right to that build. See [https://builds.apache.org/job/Cassandra-Coverage/192/testReport/ an example from Apache's Jenkins server]. The "Age" column contains links to the first build in which each test failed. To take advantage of this we'd want to make all our testing tools output [http://ant.apache.org/manual/Tasks/junitreport.html JUnitReport]-style XML files. == Graphs of test failures over time == Jenkins has built-in support for tracking the number of failing tests over time and graphing it. See [https://builds.apache.org/job/Cassandra-Coverage/test/?width=800&height=600 an example from Apache's Jenkins server].