Display the time of a running build on the queue page
See https://github.com/rust-lang/homu/issues/64.
It would also be nice to show expected end time (based on historical average of CI times).
Hi @Kobzol, is this a good first issue to work on? It looks interesting and I'd love to give it a go if it is not being worked on yet.
Hi, yeah, I think so, I marked it as such now. The information about when a given build has started is available in the DB, so it should be just a matter of fetching it and showing it on the queue page.
That definitely seems doable. I'll give it a try, thank you!
@Kobzol I see this issue is not making any progress, I would like to work on it.
@bncer Unfortunately I did not have the time to work on it yet. Feel free to pick it up.
@LimpSquid Thank you!
Sure! I think that @Sakib25800 is working (or planning to work) on other things related to rollups now, so this should be free to be picked up.
Maybe I'd start with showing how long the current build takes. The UX might be a bit tricky to avoid having too much data in the table, but maybe it won't be that wide and it will be fine.
Eventually, it would be cool to compute the historical average, and then display a mini progress bar of expected duration :)
Some clarification:
- It should show to 'Pending' status only.
- CI build data should be generated locally by myself, without using prod/stage databases.
- On UX side: it can be used like little window showing when a user clicks on it
- Yeah, we want to show for how long has a currently pending build been running for, and ideally estimate when it should end
- You can run bors on your test repo (instructions are in the README), or just create a few builds in the DB manually, and base the estimation on that
- Not sure about a window, ideally if we could fit the running time directly within the table cell that shows the pending status, that would be great. Or we can simply create a new column (next to the status) for this information. Kind of hard to tell before hand, it would be best to do some UI experiments :)
I think you should display it like this:
Display the time elapsed / ~average time in addition to a tiny progress bar.
Looks reasonable. Once we have the progress bar, I think that the / <expected>) part is a bit redundant, and we could just show it on hover on the progress bar (because from seeing the running duration + the progress bar you can more or less eyeball the expected time). But people have wide monitors nowadays, so it probably doesn't matter much :)
Ok. Thank you for guidance and even design.