status page: show the span of the data
Graham Christensen committed
Jan 1, 2020 at 13:17 UTC
e09afce477280592691d63fac1d7651c6b8bd006
1 file changed
+4
-1
delft/eris/status-page/status.js
+4
-1
@@ -93,6 +93,7 @@ const jobsetData = fetchData('query_range', {
93
jobset,
94
job,
95
job_history: values.map(state => state[1] == 0),
96
+ oldest_status: values[0][0],
97
hydra_url: `https://hydra.nixos.org/job/${project}/${jobset}/${job}`,
98
},
99
};
@@ -123,6 +124,7 @@ Promise.all([revisionData, updateTimeData, jobsetData])
124
var combined = [];
125
126
for (let [channel, jobset] of Object.entries(jobsets)) {
127
+ jobset['oldest_status_relative'] = moment.unix(jobset['oldest_status']).fromNow()
128
// Ensure each jobset here is in each other dataset, guaranteeing we have
129
// complete data.
130
jobset['channel'] = channel;
@@ -158,7 +160,7 @@ Promise.all([revisionData, updateTimeData, jobsetData])
160
.then(data => {
161
return data.map(record => {
162
var row = document.createElement('tr');
161
- row.innerHTML = '<td class="channel" /><td><span class="age label"></span></td><td class="github"><a class="revision" /></td><td class="hydra" title="The state of the job over time"><a class="hydra-link" /></td><td class="status"></td>';
163
+ row.innerHTML = '<td class="channel" /><td><span class="age label"></span></td><td class="github"><a class="revision" /></td><td class="hydra"><a class="hydra-link" /></td><td class="status"></td>';
164
if (record['current']) {
165
row.classList.add("current")
166
} else {
@@ -178,6 +180,7 @@ Promise.all([revisionData, updateTimeData, jobsetData])
180
row.getElementsByClassName("hydra")[0].style.backgroundImage = "linear-gradient(to right, " +
181
(record['job_history'].map(val => val ? "#b5ffb5" : "#ff9e9e")).join(", ") +
182
")";
183
+ row.getElementsByClassName("hydra")[0].title = `The Hydra job's state over time, since ${record['oldest_status_relative']}`;
184
185
if (record['job_history'][record['job_history'].length - 1] == 0) {
186
row.getElementsByClassName("status")[0].innerHTML += '<span class="label label-important">Build problem</span>';