| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Otherwise it complains:
dashboard/app/tree_test.go:1136:5: SA5011(related information):
this check suggests that the pointer can be nil
if found == nil {
^
|
| |
|
|
|
|
|
|
| |
Poll missing backport commits and, once a missing backport is found to
be present in the fuzzed trees, don't display it on the web dashboard
and send an email with the suggestion to close the bug.
Closes #4425.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to have a single global `config` variable and access it
throughout the whole dashboard application.
However, this approach has been more and more complicated test writing
-- sometimes we want the config to be only slightly different, so that
it's not worth it adding new namespaces, sometimes we have to test how
dashboard handles config changes over time.
This has already led to a number of hacky contextWithXXX methods that
mocked various parts of the global variable. The rest of the code had to
sometimes still use `config` directly and sometimes invoke getXXX(c)
methods. This is very inconsistent and prone to errors.
With more and more situations where we need to patch the config
appearing (see #4118), let's refactor the application to always access
config via the getConfig(c) method. This allows us to uniformly patch
the config and be sure that the non-patched copy is not accessible from
anywhere else.
|
| |
|
|
|
|
|
| |
The existing code fails if it's executed before we have finished the
tree origin job for the tree where the fix is supposed to be applied to.
Add a test.
|
| |
|
|
|
|
|
|
|
|
| |
If a higher-priority crash has become available, re-run bug origin
tests.
Currently, since fix candidate testing runs on tree origin testing
results, we remain bound to the manager used back then. And it can be
that the manager does not support bisections (e.g. qemu) or is quite
problematic (arm64).
|
| |
|
|
|
|
|
| |
Add a per-namespace page that contains:
1) The list of commits to backport from the trees fuzzed in that
namespace.
2) The list of commits to backport into the namespace.
|
| |
|
|
|
|
|
|
| |
If bug's origin has not yet been determined, the dashboard app might
crash with "panic: runtime error: invalid memory address or nil pointer
dereference" at dashboard/app/tree.go:740.
Fix this and add a test.
|
| |
|
|
|
| |
Accept only normal fix bisections as a reason to auto-close a bug if
FixBisectionAutoClose is set to true.
|
| |
|
|
|
|
|
| |
Enable reporting of the results of cross-tree bisections.
Adjust email reporting to differentiate between normal fix bisections
and fix candidate reporting.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
If tree origin assessment code has identified that the bug is not
reproducible in a tree from which we merge/cherry-pick commits, use fix
bisection to identify that commit. This can e.g. be used to find fixing
commits that were not backported from Linux kernel mainline into LTS
branches.
In case of bisection errors, re-do such jobs every 30 days.
Remember in the Bug structure whether there's a fix candidate and return
the details in the full bug info API query.
|
| |
|
|
|
|
|
| |
1) Ensure we upload a separate Build every time (they must have
different ID values).
2) Support specifying kernel commits.
3) Split out the loadBug() functionality. It will be needed later.
|
| |
|
|
|
|
|
|
| |
There are cases when e.g. an LTS kernel does not build if provided with
some downstream kernel config.
Introduce a special AppendConfig option to KernelRepo that can help in
this case.
|
| | |
|
| |
|
|
| |
Full commit ids are not necessary in the notification email.
|
| | |
|
| |
|
|
|
|
|
|
| |
If the label is not user-set and the config specifies a message for it,
send a bug notification.
If the label is related to bug origin testing, attach the list of tested
trees.
|
| |
|
|
|
| |
Display them as a collapsible block on the bug info page. Use colors to
distinguish results.
|
| |
|
|
|
| |
If the tested tree is build/boot/test broken, repeat the job in 2 weeks.
If we are waiting for a bug to get fix, repeat every 45 days.
|
| |
|
|
|
|
| |
It might be the case that the same repo is mentioned both as Merge=false
and via some chain of Merge=true links. Adjust the code to properly
handle such scenarios and add a test.
|
|
|
Run reproducers on other trees in order to determine
1) Trees where a bug originates (i.e. the reproducer can trigger a bug
in none of the further trees, from which commits flow).
2) Trees, to which the bug has already spread (i.e. the reproducer works
on none of the trees that receive commits from the current one).
3) The abscence of a backport (= the reproducer used to work on some
upstream tree and then stopped).
For (1) the bot assigns the LabelIntroduced from KernelRepo.
For (2) -- the value of LabelReached.
For better understanding see sample configs in tree_test.go.
|