Add layer cake to dashboard.
Change-Id: I7c40bfe72c9e719b98c54cf256d8a8994f564e62
diff --git a/fudash/index.html b/fudash/index.html
index 299f117..df06390 100644
--- a/fudash/index.html
+++ b/fudash/index.html
@@ -1,22 +1,24 @@
<html>
+
<head>
- <link rel="stylesheet" href="main.css">
- <meta http-equiv="refresh" content="60">
- <title>Fuchsia Build Dashboard</title>
+ <link rel="stylesheet" href="main.css">
+ <meta http-equiv="refresh" content="60">
+ <title>Fuchsia Build Dashboard</title>
</head>
+
<body>
-{% for target in targets %}
- <h1> {{target.project}} </h1>
- <ul class="target-container">
- {% for build_job in target.build_jobs %}
- <li class="{{build_job.result}}">
- <a href="{{build_job.href}}">
- <span class="target-name">{{build_job.name}}</span>
- </a>
- </li>
- {% endfor %}
- </ul>
-{% endfor %}
-<div class="clock">{{clock}}</div>
+ {% for target in targets %}
+ <div class="target-container">
+ {% for build_job in target.build_jobs %}
+ <a href="{{build_job.href}}">
+ <div class="{{build_job.result}}">
+ <span class="target-name">{{build_job.name}}</span>
+ </div>
+ </a>
+ {% endfor %}
+ </div>
+ {% endfor %}
+ <div class="clock">{{clock}}</div>
</body>
-</html>
+
+</html>
\ No newline at end of file
diff --git a/fudash/main.css b/fudash/main.css
index 7bc855e..dfc4c39 100644
--- a/fudash/main.css
+++ b/fudash/main.css
@@ -11,32 +11,37 @@
text-decoration: none;
}
-h1 {
- margin-left: 0.25em;
-}
-
.target-container {
border-collapse: separate;
- border-spacing: 0.5em;
- display: table;
+ display: flex;
list-style-type: none;
padding: 0;
+ margin-top: 0.5em;
table-layout: fixed;
width: 100%;
}
-.target-container>li {
- display: table-cell;
+.target-container div {
+ display: flex;
+ justify-content: center;
+ align-items: center;
border: 0.5px solid #333;
font-size: 1.5em;
line-height: 2em;
- margin-bottom: 0.5em;
- padding: 0.3em;
+ padding: 1.3em;
text-align: center;
+ min-height:100px;
+}
+
+.target-container a {
+ flex:1;
+ align-items: stretch;
+ margin-left: 0.5em;
}
.target-name {
color: white;
+ line-height: 1.2em;
}
.fail {
diff --git a/fudash/main.py b/fudash/main.py
index 31aec4f..1f39faa 100644
--- a/fudash/main.py
+++ b/fudash/main.py
@@ -21,34 +21,53 @@
BASE_URL = 'https://luci-scheduler.appspot.com/jobs/'
SNAPSHOT_URL = 'https://storage.googleapis.com/fuchsia/jiri/snapshots'
-TARGETS = {
- 'fuchsia': [
+TARGETS = [
+ [
+ ('fuchsia'),
('fuchsia/fuchsia-aarch64-linux-debug', 'fuchsia-aarch64-linux-debug'),
('fuchsia/fuchsia-aarch64-linux-release', 'fuchsia-aarch64-linux-release'),
('fuchsia/fuchsia-x86_64-linux-debug', 'fuchsia-x86_64-linux-debug'),
('fuchsia/fuchsia-x86_64-linux-release', 'fuchsia-x86_64-linux-release'),
],
- 'fuchsia-drivers': [
- ('fuchsia/drivers-aarch64-linux-debug', 'drivers-aarch64-linux-debug'),
- ('fuchsia/drivers-aarch64-linux-release', 'drivers-aarch64-linux-release'),
- ('fuchsia/drivers-x86_64-linux-debug', 'drivers-x86_64-linux-debug'),
- ('fuchsia/drivers-x86_64-linux-release', 'drivers-x86_64-linux-release'),
+ [
+ ('topaz'),
+ ('fuchsia/topaz-aarch64-linux-debug', 'topaz-aarch64-linux-debug'),
+ ('fuchsia/topaz-aarch64-linux-release', 'topaz-aarch64-linux-release'),
+ ('fuchsia/topaz-x86_64-linux-debug', 'topaz-x86_64-linux-debug'),
+ ('fuchsia/topaz-x86_64-linux-release', 'topaz-x86_64-linux-release'),
],
- 'zircon': [
+ [
+ ('peridot'),
+ ('fuchsia/peridot-aarch64-linux-debug', 'peridot-aarch64-linux-debug'),
+ ('fuchsia/peridot-aarch64-linux-release', 'peridot-aarch64-linux-release'),
+ ('fuchsia/peridot-x86_64-linux-debug', 'peridot-x86_64-linux-debug'),
+ ('fuchsia/peridot-x86_64-linux-release', 'peridot-x86_64-linux-release'),
+ ],
+ [
+ ('garnet'),
+ ('fuchsia/garnet-aarch64-linux-debug', 'garnet-aarch64-linux-debug'),
+ ('fuchsia/garnet-aarch64-linux-release', 'garnet-aarch64-linux-release'),
+ ('fuchsia/garnet-x86_64-linux-debug', 'garnet-x86_64-linux-debug'),
+ ('fuchsia/garnet-x86_64-linux-release', 'garnet-x86_64-linux-release'),
+ ],
+ [
+ ('zircon'),
('fuchsia/zircon-pc-x86-64-clang', 'zircon-pc-x86-64-clang'),
('fuchsia/zircon-pc-x86-64-gcc', 'zircon-pc-x86-64-gcc'),
('fuchsia/zircon-qemu-arm64-clang', 'zircon-qemu-arm64-clang'),
('fuchsia/zircon-qemu-arm64-gcc', 'zircon-qemu-arm64-gcc'),
],
- 'fyi': [
- ('fuchsia/zircon-pc-x86-64-asan', 'zircon-pc-x86-64-asan'),
- ('fuchsia/zircon-qemu-arm64-asan', 'zircon-qemu-arm64-asan'),
- ],
- 'jiri': [
+ [
+ ('jiri'),
('fuchsia/jiri-x86_64-linux', 'jiri-x86_64-linux'),
('fuchsia/jiri-x86_64-mac', 'jiri-x86_64-mac'),
+ ],
+ [
+ ('fyi'),
+ ('fuchsia/zircon-pc-x86-64-asan', 'zircon-pc-x86-64-asan'),
+ ('fuchsia/zircon-qemu-arm64-asan', 'zircon-qemu-arm64-asan'),
]
-}
+]
class BuildResult:
@@ -145,9 +164,11 @@
'clock': time.strftime("%H:%M UTC", time.gmtime()),
'targets': [],
}
- for t in sorted(TARGETS):
+ for t in TARGETS:
build_jobs = []
- for job in TARGETS[t]:
+ project = t[0]
+ job_targets = t[1:]
+ for job in job_targets:
url_suffix = job[0]
display_name = job[1]
result, link = getBuildResult(url_suffix)
@@ -158,7 +179,7 @@
}
build_jobs.append(result)
target = {
- 'project': t,
+ 'project': project,
'build_jobs': build_jobs
}
template_values['targets'].append(target)
@@ -172,8 +193,9 @@
def get(self, target):
snapshot_found = False
- for t in sorted(TARGETS):
- for j in TARGETS[t]:
+ for t in TARGETS:
+ job_targets = t[1:]
+ for j in job_targets:
if target == j[1]:
result, link = getBuildResult(j[0], True)
self.redirect(getSnapshot(link))