Home | History | Annotate | Download | only in testing
      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