Skip to content

Instantly share code, notes, and snippets.

View lightsofapollo's full-sized avatar

James Lal lightsofapollo

View GitHub Profile
var koa = require('koa');
var app = koa();
var Promise = require('promise');
var sleep = function(n) {
return new Promise(function(accept) {
setTimeout(accept, n);
});
};
define(function(require) {
var myFile = require('myfile.js');
var assert = require('assert');
test('my file is amazing', function() {
assert(myFile.amazing, 'i win!');
});
});
TEST = $(shell find test/browser -name "*.html")
test: $(TEST)
.PHONY: $(TEST)
$(TEST):
./bin/browser-test $@
// your in an app here
client.switchToFrame();
// now your in the system app
var el = client.findElement('[src="yourwindowurl?"]')
client.switchToFrame(el);
// in the "window" you wanted
MaxSpotInstanceCountExceeded: Max spot instance count exceeded, as JSON: {"message":"Max spot instance count exceeded","code":"MaxSpotInstanceCountExceeded","time":"2014-05-13T20:27:14.148Z","statusCode":400,"retryable":false}, spec {"KeyName":"taskcluster-aws-provisioner-managed:aufs-worker","ImageId":"ami-36a6cc06","InstanceType":"c3.xlarge","UserData":"eyJ3b3JrZXJUeXBlIjoiYXVmcy13b3JrZXIiLCJwcm92aXNpb25lcklkIjoiYXdzLXByb3Zpc2lvbmVyIiwiY2FwYWNpdHkiOjF9","SecurityGroups":["ssh-only"],"BlockDeviceMappings":[{"DeviceName":"/dev/sdb","VirtualName":"ephemeral0"},{"DeviceName":"/dev/sdc","VirtualName":"ephemeral1"}]} MaxSpotInstanceCountExceeded: Max spot instance count exceeded
{
image: 'b2g-builder',
command: './build.sh config $DEVICE && ./build.sh'
}
{
"device": "rawgithub.com/mozilla/b2g-manifest.git/tree/master/device.xml"
}
2014-05-16T03:39:34.727735+00:00 app[web.1]: GET /v1/task-graph/I4-wo2FMQEGXaqfFmbpsPQ/status 500 146ms - 40b
2014-05-16T03:39:34.727847+00:00 app[web.1]: Fri, 16 May 2014 03:39:34 GMT routes:api:utils Reply for /task-graph/I4-wo2FMQEGXaqfFmbpsPQ/status didn't match schema: http://schemas.taskcluster.net/scheduler/v1/task-graph-status.json got errors:
2014-05-16T03:39:34.727850+00:00 app[web.1]: [
2014-05-16T03:39:34.727851+00:00 app[web.1]: {
2014-05-16T03:39:34.727853+00:00 app[web.1]: "instanceContext": "#",
2014-05-16T03:39:34.727855+00:00 app[web.1]: "resolutionScope": "http://schemas.taskcluster.net/scheduler/v1/task-graph-status.json#",
2014-05-16T03:39:34.727857+00:00 app[web.1]: "constraintName": "required",
2014-05-16T03:39:34.727858+00:00 app[web.1]: "constraintValue": [
2014-05-16T03:39:34.727860+00:00 app[web.1]: "taskGraphId",
2014-05-16T03:39:34.727861+00:00 app[web.1]: "schedulerId",
{
"taskOne": {
"requires": []
}
}

What is this stuff?

For some time now we have wanted the ability to scale our tests to infinity, report to something that our sheriffs can monitor and control the configuration of our test suites.

Taskcluster & Treeherder let us do this: http://treeherder-dev.allizom.org/ui/#/jobs?repo=gaia-master Taskcluster http://docs.taskcluster.net/ drives the tests and with a small github hook allows us to configure the jobs from a json file in the tree (this will likely be a yaml file in the end) https://github.com/mozilla-b2g/gaia/blob/master/taskgraph.json

Treeherder is the next generation "TBPL" which allows us to report results to sheriffs from external resources (meaning we can control the tests) for both a "try" interface (like pull requests) and branch landings.

There is one intermittent test in the GU suite the rest are green for gaia for both pull requests and the master branch.