blob: 65d779029777ec456aa3f61aa19fc5c59a6bd53a [file] [log] [blame]
<html>
<head>
<title>task-sk demo</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
<script src="/res/common/js/common.js"></script>
<script src="/res/imp/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
<script type="text/javascript" charset="utf-8">
// task1 is a task to display.
var task1 = {
"attempt": 0,
"commits": ["a", "b", "c"],
"created": "2016-10-10T15:56:13.393516175-04:00",
"dbModified": "2016-10-10T19:56:44.572122663Z",
"finished": "2016-10-11T15:30:45.22367Z",
"forcedJobId": "",
"id": "20161010T195613.393516175Z_0000000000000048",
"issue": "2410843002",
"isolatedOutput": "",
"jobs": ["20161010T195613.393516175Z_0000000000000048", "20161010T195613.393516175Z_0000000000000049"],
"max_attempts": 1,
"name": "Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN",
"parentTaskIds": null,
"patchset": "1",
"properties": null,
"repo": "https://skia.googlesource.com/skia.git",
"retryOf": "",
"revision": "c",
"server": "https://codereview.chromium.org",
"started": "2016-10-10T15:56:13.393516175-04:00",
"status": "SUCCESS",
"swarmingBotId": "skia-vm-050",
"swarmingTaskId": "31cd28b854e04d10",
};
// job1 represents real task data.
var job1 = {
"buildbucketBuildId": 0,
"buildbucketLeaseKey": 0,
"created": "2016-10-10T15:56:13.393516175-04:00",
"dbModified": "2016-10-10T19:56:44.572122663Z",
"dependencies": {
"Build-Ubuntu-GCC-x86_64-Release-GN": null,
"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": ["Build-Ubuntu-GCC-x86_64-Release-GN"],
"Upload-Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": ["Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN"],
},
"finished": "2016-10-11T15:30:45.22367Z",
"id": "20161010T195613.393516175Z_0000000000000048",
"isForce": false,
"name": "Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN",
"priority": 0.8,
"issue": "2410843002",
"patchset": "1",
"server": "https://codereview.chromium.org",
"repo": "https://skia.googlesource.com/skia.git",
"revision": "6ca48820407244bbdeb8f9e0ed7d76dd94270460",
"status": "SUCCESS",
"tasks": {
"Build-Ubuntu-GCC-x86_64-Release-GN": [{
"id": "20161011T152315.308660290Z_0000000000000a40",
"status": "SUCCESS",
"swarmingTaskId": "31cd28b854e04d10",
}],
"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": [{
"id": task1.id,
"status": task1.status,
"swarmingTaskId": task1.swarmingTaskId,
}],
"Upload-Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": [{
"id": "20161011T152813.960219550Z_0000000000000a42",
"status": "SUCCESS",
"swarmingTaskId": "31cd2d46acc0e110",
}],
},
};
// job2 is fake data but is more visually interesting.
var job2 = {
"created": (new Date(new Date().getTime() - 5000000)).toUTCString(),
"dbModified": "2016-10-10T19:56:44.572122663Z",
"dependencies": {
"F": ["E"],
"E": ["B"],
"D": ["B"],
"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-GN": ["A"],
"B": ["A"],
"A": [],
},
"finished": "",
"id": "20161010T195613.393516175Z_0000000000000049",
"isForce": false,
"name": "ABCDEF",
"priority": 0.8,
"issue": "2410843002",
"patchset": "1",
"server": "https://codereview.chromium.org",
"repo": "https://skia.googlesource.com/skia.git",
"revision": "6ca48820407244bbdeb8f9e0ed7d76dd94270460",
"status": "",
"tasks": {
"A": [{
"id": "A1",
"status": "SUCCESS",
"swarmingTaskId": "31cd28b854e04d10",
}],
"B": [{
"id": "B1",
"status": "FAILURE",
"swarmingTaskId": "31cd28b854e04d10",
}, {
"id": "B2",
"status": "SUCCESS",
"swarmingTaskId": "31cd28b854e04d10",
}],
"C": [{
"id": task1.id,
"status": task1.status,
"swarmingTaskId": task1.swarmingTaskId,
}],
"D": [{
"id": "D1",
"status": "",
"swarmingTaskId": "31cd28b854e04d10",
}],
"E": [{
"id": "E1",
"status": "RUNNING",
"swarmingTaskId": "31cd28b854e04d10",
}],
},
};
// Mock out sk.get and so we can fake a response from the server.
sk.get = function(url) {
return new Promise(function (resolve, reject) {
if (url.indexOf("/json/task/") != -1) {
resolve(JSON.stringify(task1));
} else if (url.indexOf("/json/job/") != -1) {
if (url.indexOf(job1.id) != -1) {
resolve(JSON.stringify(job1));
} else if (url.indexOf(job2.id) != -1) {
resolve(JSON.stringify(job2));
} else {
reject("Unknown Job url " + url);
}
} else if (url == "/loginstatus/") {
resolve('{"Email":"user@google.com","LoginURL":"https://accounts.google.com/"}');
} else {
reject("Unknown url " + url);
}
});
};
sk.post = function(url) {
return new Promise(function (resolve, reject) {
var j = task1;
if (url.indexOf("task1") == -1) {
j = task2;
}
j.status = "CANCELED";
j.finished = (new Date()).toISOString();
resolve(JSON.stringify(j));
});
};
</script>
<link rel="import" href="task-sk.html">
<link rel="import" href="/res/common/imp/error-toast-sk.html">
<link rel="import" href="/res/common/imp/login.html">
<link rel="import" href="/res/imp/bower_components/paper-toggle-button/paper-toggle-button.html" />
</head>
<body>
<login-sk style="display:none"></login-sk>
<h1>task-sk demo</h1>
<task-sk id="task_sk" task-id="task1" swarming-server="chromium-swarm.appspot.com"></task-sk>
<error-toast-sk></error-toast-sk>
</body>
</html>