1 Skia Buildbots 2 ============== 3 4 Overview 5 -------- 6 7 Like the Chromium team, the Skia team uses [buildbot](http://trac.buildbot.net/) 8 to run continuous builds and tests. 9 10 Here is a link to our main status page: https://status.skia.org/ 11 12 There are also buildbot console pages for a detailed view of those results: 13 14 Externally-facing: 15 16 * http://build.chromium.org/p/client.skia/console 17 * http://build.chromium.org/p/client.skia.android/console 18 * http://build.chromium.org/p/client.skia.compile/console 19 * http://build.chromium.org/p/client.skia.fyi/console 20 21 Internally-facing: 22 23 * http://uberchromegw.corp.google.com/i/client.skia/console 24 * http://uberchromegw.corp.google.com/i/client.skia.android/console 25 * http://uberchromegw.corp.google.com/i/client.skia.compile/console 26 * http://uberchromegw.corp.google.com/i/client.skia.fyi/console 27 * http://uberchromegw.corp.google.com/i/client.skia.internal/console 28 29 30 Architecture 31 ------------ 32 33 The buildbot system consists of these elements: \(see 34 http://buildbot.net/buildbot/docs/current/manual/introduction.html#system-architecture 35 for more detail\) 36 37 * Buildbot Master 38 39 * Watches for new commits to land in the Skia repository 40 \(https://skia.googlesource.com/skia\) 41 * Whenever a new commit lands, it triggers a **Build** on each **Builder** 42 to test the new revision. 43 * Serves up status pages whenever anybody requests them 44 45 * Build 46 47 * One run of a particular **Builder**, at a particular code revision. 48 * "Build" is sort of a misnomer; it's just a list of steps (typically shell 49 commands) which are run by the **Buildslave** process on the host 50 machine, and those may include compiling and running code as well as 51 arbitrary other commands. 52 53 * Builder 54 55 * One repeatable build and/or test configuration on a given platform. The 56 Builder is basically a blueprint which provides logic to determine which 57 steps to run within a Build. 58 59 * Buildslave \(or "buildbot slave"\) 60 61 * A process running on a host machine that builds and runs code as directed 62 by the Buildbot Master. 63 * One or more Builders may run on a given Buildslave, but only one runs at 64 a time. 65 * One or more Buildslaves may run on a given host machine. 66 67 68 Status View 69 ------------ 70 71 The status view shows a table with builders, grouped by test type and platform, 72 on the X-axis and commits on the Y-axis. The cells are colored according to 73 the status of the build for each commit: 74 75 * green: success 76 * orange: failure 77 * purple: exception (infrastructure issue) 78 * black border, no fill: build in progress 79 * blank: no build has started yet for a given revision 80 81 Commits are listed by author, and the branch on which the commit was made is 82 shown on the very left. A purple result will override an orange result. 83 84 For more detail, you can click on an individual cell to get a summary of the 85 steps which ran for that build. You can also click one of the white bars at 86 the top of each column to see a summary of recent builds for a given builder. 87 88 The status page has several filters which can be used to show only a subset of 89 bots: 90 91 * Interesting: Bots which have both successes and failures within the visible 92 commit window. 93 * Failures: Bots which have failures within the visible commit window. 94 * Comments: Bots which have comments. 95 * Failing w/o comment: Bots which have failures within the visible commit window 96 but have no comments. 97 * All: Display all bots. 98 * Search: Enter a search string. Substrings and regular expressions may be 99 used, per the Javascript String Match() rules: 100 http://www.w3schools.com/jsref/jsref_match.asp 101 102 103