• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Skia Buildbots
2==============
3
4Overview
5--------
6
7Like the Chromium team, the Skia team uses [buildbot](http://trac.buildbot.net/)
8to run continuous builds and tests.
9
10Here is a link to our main status page: https://status.skia.org/
11
12There 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
30Architecture
31------------
32
33The buildbot system consists of these elements: \(see
34http://buildbot.net/buildbot/docs/current/manual/introduction.html#system-architecture
35for 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
68Status View
69------------
70
71The status view shows a table with builders, grouped by test type and platform,
72on the X-axis and commits on the Y-axis.  The cells are colored according to
73the 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
81Commits are listed by author, and the branch on which the commit was made is
82shown on the very left. A purple result will override an orange result.
83
84For more detail, you can click on an individual cell to get a summary of the
85steps which ran for that build.  You can also click one of the white bars at
86the top of each column to see a summary of recent builds for a given builder.
87
88The status page has several filters which can be used to show only a subset of
89bots:
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