Add table with pending builds to the queue page - #795
Open
Kobzol wants to merge 10 commits into
Open
Conversation
It was kinda useless.
Collaborator
|
☔ The latest upstream changes (possibly #799) made this pull request unmergeable. Please resolve the merge conflicts. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a new table with pending builds to the queue page. The motivation is to have some space that could show extended information about pending builds (#788, #690) and eventually also (optionally) show running try builds.
When bors receives workflow job stated/completed webhooks, it will now cache them in-memory (not in the DB, as it is only best effort) and display them in the build table. After too many workflows are accumulated in memory, the oldest ones are removed.
We recognize oldest workflows by their run ID; bors assumes that the IDs are sequentially increasing. If that won't be true in practice, we can also store e.g. their started time.
The jobs might not always be accurate if we miss some webhooks (due to them being dropped or bors being redeployed). Bors could at startup load currently running workflows and load their jobs, but I didn't include that in this PR, it's already large enough.
The UI is not super pretty at the moment, improvements/suggestions are welcome 😆 It is quite annoying to do changes here though, my fingers are really twitching to ports the whole page to Vue.
Fixes: #690