Adds frequency graphs for build errors as small html widgets.
All data is gathered from the last 30 days.
- Daily frequency (how many times per day)
- Hourly frequency (how many times per individual hour, 0-23)
- Day Of Week frequency (how many times per day of week, 0-6)
- Day of month frequency (how many times per day of month, 0-30)
Co-Authored-By: Xavier-Do <xdo@odoo.com>
When doing a search on runbot, the main navbar item (for the current
project) keeps the search, making it less convenient to arrive back at
the homepage.
Auto save mechanism when switching tab is unwanted in runbot, most of
the time we will use other tabs to get the data necessary for the record
we are modifying/creating and we don't care about saving yet.
We also prevent closing the window if the record is dirty.
Auto save in pager and context switch is still kept.
When teams want to work by merging many branches into a singular dev
branch before targetting master, they often require custom triggers
which we have to copy by hand.
With this change we hope to be able to set the custom trigger on the
target branch instead and inherit the custom triggers on the children
branches automatically.
Before this commit:
The only way to have details on the builds was to use the embed
one2many widget in the build error form view.
This was pretty inconvenient for complicated search as there is no
way to filter the records or group them
After this commit:
A list view now exist for the model `runbot.build.error.link`
allowing to filter and group on convenient fields.
This list view can be accessed on the runbot build error through
a smart button
When adding an internal link in discord or other platform, a preview of
the login page is given. This is not usefull nor elegant.
This commit proposes to remove the logo and give useful information
instead
This commit adds a `common_qualifiers` field on build error. Its purpose
is mainly to find similary qualified errors and similary qualified error
contents. This field is computed by finding qualifiers in common in all
the qualifiers of the error contents linked to the error.
A new `unique_qualifiers` is also added for the same kind of puprpose.
This field is computed by finding non contradictory qualifiers of the
linked error contents.
The fields can be used in 4 tabs added on the build error form.
This allows to configure a custom trigger to use the base commits.
This can be usefull to test a config on a branch that has some changes
to ensure it works proprely.
Looks like bu.database_ids[1:].sorted('name') was breaking the prefech
set leading to one query per build. Fiwing it by sorting without slicing
the ignoring the first record.
~230 ms improvement over 1.7 second
The row_number window function is quite unoptimized as it requires
reading the whole table.
Using lateral join and / or distinct makes better use of existing
indexes.
The current qualifying implementation is based solely on error content.
With this commit the fields on which the regular expression will apply
can be choosen with checkboxes. It defaults to the `content` field.
While it's useful to have a clickable link to the fixing pull request
on the runbot error list, we cannot display the entire url as it takes
too much space. So a static text `View PR` is used.
As this static text is of limited use, this commit adds a new widget
that displays a shortened URL for the github pull request only showing
the repo and the PR number.
- Add dropdown-toggle to the github tool button so that it doesn't
appear as if a button should be following it.
- Add default btn classes to category icons, the button would otherwise
be displayed as just an icon.
- Add a gap between the two toolbars.
- Add d-empty-none in case we have no category to display to remove the
useless gap.
When the reference build for some build is not done yet a message is
logged with a link to the referenced build, however due to a typo in the
message the markdown was badly formatted.