Index: site/dev/testing/trybots.md |
diff --git a/site/dev/testing/trybots.md b/site/dev/testing/trybots.md |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d1e6e63e9af9a5b1832bffdb396b5b08a0899937 |
--- /dev/null |
+++ b/site/dev/testing/trybots.md |
@@ -0,0 +1,96 @@ |
+Skia Trybots |
borenet
2015/02/24 14:13:46
Are we talking about buildbots or trybots here? I
|
+============ |
+ |
+Overview |
+-------- |
+ |
+Like the Chromium team, the Skia team uses [buildbot](http://trac.buildbot.net/) |
+to run continuous builds and tests. |
+ |
+Here is a link to our main buildbot page, from which you can also access our |
+Android, Compile, and FYI test consoles\: |
+ |
+ Externally-facing: http://build.chromium.org/p/client.skia/console |
+ |
+ Internally-facing: http://chromegw.corp.google.com/i/client.skia/console |
+ http://chromegw.corp.google.com/i/client.skia.internal/console |
borenet
2015/02/24 14:13:46
While these links are still useful for tracking do
|
+ \(only visible internally\) |
+ |
+Architecture |
+------------ |
+ |
+The buildbot system consists of these elements: \(see |
+http://buildbot.net/buildbot/docs/current/manual/introduction.html#system-architecture |
+for more detail\) |
+ |
+* buildbot master |
+ |
+ * watches for new commits to land in the Skia repository |
+ \(https://skia.googlesource.com/skia\) |
+ * whenever a new commit lands, it tells buildbot slaves to start building and |
+ testing the latest revision |
+ * serves up status pages whenever anybody requests them |
+ |
+* buildslave \(or "buildbot slave"\) |
+ |
+ * a machine that builds and runs code as directed by the buildbot master |
borenet
2015/02/24 14:13:45
More precisely, a process running on a machine. T
|
+ * one or more builders run on each buildslave |
+ |
+* builder |
+ |
+ * one of perhaps many build configurations for a particular buildslave \(for |
+ example, we have Debug and Release builds for each platform\) |
+ * each builder maintains its own local checkout of the Skia repo |
+ * only one builder is running at any given time on any single buildslave; otherwise, |
+ different builders could interfere with each other's performance numbers |
borenet
2015/02/24 14:13:45
Can we move this above buildslaves (maybe to the v
|
+ |
+ |
+Source Code Revisions |
borenet
2015/02/24 14:13:46
I don't think this section is needed. At most (if
|
+--------------------- |
+ |
+Because of the distributed nature of the buildbot, there may be several |
+different revisions of the buildbot code in play at any one time: |
+ |
+1. Current head of "master" branch \(or close to it\): checked out on slaves, run in |
+ response to directives coming from the master |
+2. The head of the "master" branch the last time we restarted the master. Behavior |
+ of the master-side buildbot Python code is governed by this revision. |
+3. The revision currently checked out on the master, between \#1 and \#2. Behavior of |
+ master-served HTML and run-on-the-client Javascript is governed by this |
+ revision. |
+4. Revision of the HTML/JS running on each client. Should be close to |
+ master_checkedout_revision but may lag behind \(especially if the client has a |
+ really long refresh time set\). |
+ |
+ |
+Console View |
borenet
2015/02/24 14:13:46
Again, I think this is useful information, but I'd
|
+------------ |
+ |
+The buildbot master process watches for new commits to land in the Skia |
+repository \(https://skia.googlesource.com/skia\). Whenever a new commit is |
+made, the buildbot master tells slaves to start building and testing the latest |
+revision. |
+ |
+If the new commits land faster than the buildbots have time to cycle through all |
+buildbot types, then not every revision will be tested individually. Instead, |
+if the commits are on the same branch, they will be batched into a single build. |
+ |
+The console view shows a table with builders on the X-axis and commits on the |
+Y-axis. The cells are colored in according to the status of the build for each |
+commit: green indicates success, red indicates failure, orange indicates |
+repeated failure, yellow indicates an in-progress build, and white indicates |
+that no build has started yet for a given revision. |
+ |
+For more detail, you can click on an individual cell to get a summary of the |
+steps which ran for that build. You can also click one of the colored bars at |
+the top of each column to see a summary of recent builds for a given builder. |
+ |
+ |
+Submitting a Try from Rietveld |
borenet
2015/02/24 14:13:45
This seems out of place here. Maybe it belongs in
|
+------------------------------ |
+ |
+The easiest way to submit a try is from the Rietveld web UI. To submit a try |
+this way, simply click the "try more bots" link underneath the desired patch |
+set, and a menu will pop up so that you can choose one or more trybots to run. |
+ |
+ |