aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2023-05-11 16:20:52 +0200
committerAleksandr Nogikh <wp32pw@gmail.com>2023-05-11 19:18:00 +0200
commitadb9a3cd3732374cec4a7914bb6db944c1b16ef2 (patch)
tree3f8d3a7e2ced8d5fcf8e9086d312e2b7172dce09
parent0fbd49f48637cff2f7cf1ab0150e2c4ce8d97527 (diff)
dashboard: adjust bug origin tree testing periods
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.
-rw-r--r--dashboard/app/tree.go13
-rw-r--r--dashboard/app/tree_test.go28
2 files changed, 21 insertions, 20 deletions
diff --git a/dashboard/app/tree.go b/dashboard/app/tree.go
index 263c4651b..50b35186a 100644
--- a/dashboard/app/tree.go
+++ b/dashboard/app/tree.go
@@ -409,14 +409,16 @@ func (ctx *bugTreeContext) doRunRepro(repo KernelRepo, result expectedResult, ru
}
if bugTreeTest.Error != "" {
- result := ctx.ensureRepeatPeriod(bugTreeTest.Error)
+ const errorRetryTime = 24 * time.Hour * 14
+ result := ctx.ensureRepeatPeriod(bugTreeTest.Error, errorRetryTime)
if _, ok := result.(pollResultSkip); !ok {
return result
}
bugTreeTest.Error = ""
}
if bugTreeTest.Last != "" {
- result := ctx.ensureRepeatPeriod(bugTreeTest.Last)
+ const fixRetryTime = 24 * time.Hour * 45
+ result := ctx.ensureRepeatPeriod(bugTreeTest.Last, fixRetryTime)
if _, ok := result.(pollResultSkip); !ok {
return result
}
@@ -444,15 +446,14 @@ func (ctx *bugTreeContext) doRunRepro(repo KernelRepo, result expectedResult, ru
return pollResultPending{}
}
-func (ctx *bugTreeContext) ensureRepeatPeriod(jobKey string) pollTreeJobResult {
- const retryTime = 24 * time.Hour * 30
+func (ctx *bugTreeContext) ensureRepeatPeriod(jobKey string, period time.Duration) pollTreeJobResult {
job, err := fetchJob(ctx.c, jobKey)
if err != nil {
return pollResultError(err)
}
timePassed := timeNow(ctx.c).Sub(job.Finished)
- if timePassed < retryTime {
- return pollResultWait(job.Finished.Add(retryTime))
+ if timePassed < period {
+ return pollResultWait(job.Finished.Add(period))
}
return pollResultSkip{}
}
diff --git a/dashboard/app/tree_test.go b/dashboard/app/tree_test.go
index 5c4af14ec..9ebcf64dd 100644
--- a/dashboard/app/tree_test.go
+++ b/dashboard/app/tree_test.go
@@ -93,25 +93,25 @@ func TestTreeOriginErrors(t *testing.T) {
mergeAlias: `downstream`,
results: []treeTestEntryPeriod{
{fromDay: 0, result: treeTestError},
- {fromDay: 31, result: treeTestCrash},
+ {fromDay: 16, result: treeTestCrash},
},
},
{
alias: `upstream`,
results: []treeTestEntryPeriod{
{fromDay: 0, result: treeTestError},
- {fromDay: 60, result: treeTestCrash},
+ {fromDay: 31, result: treeTestCrash},
},
},
}
- ctx.jobTestDays = []int{1, 32, 63}
+ ctx.jobTestDays = []int{1, 16, 31}
ctx.moveToDay(1)
ctx.ensureLabels() // Not enough information yet.
- // The original crash is reproducible again.
- ctx.moveToDay(32)
+ // Lts got unbroken.
+ ctx.moveToDay(16)
ctx.ensureLabels(`origin:lts`) // We don't know any better so far.
- // Upstream is buildable again.
- ctx.moveToDay(63)
+ // Upstream got unbroken.
+ ctx.moveToDay(31)
ctx.ensureLabels(`origin:upstream`)
c.expectEQ(ctx.entries[0].jobsDone, 0)
c.expectEQ(ctx.entries[1].jobsDone, 2)
@@ -424,7 +424,7 @@ func TestMissingLtsBackport(t *testing.T) {
alias: `lts`,
results: []treeTestEntryPeriod{
{fromDay: 0, result: treeTestCrash},
- {fromDay: 31, result: treeTestOK},
+ {fromDay: 46, result: treeTestOK},
},
},
{
@@ -434,8 +434,8 @@ func TestMissingLtsBackport(t *testing.T) {
},
},
}
- ctx.jobTestDays = []int{0, 35}
- ctx.moveToDay(35)
+ ctx.jobTestDays = []int{0, 46}
+ ctx.moveToDay(46)
ctx.ensureLabels(`missing-backport`)
c.expectEQ(ctx.entries[0].jobsDone, 1)
c.expectEQ(ctx.entries[1].jobsDone, 1)
@@ -470,8 +470,8 @@ func TestMissingUpstreamBackport(t *testing.T) {
},
},
}
- ctx.jobTestDays = []int{0, 35}
- ctx.moveToDay(35)
+ ctx.jobTestDays = []int{0, 46}
+ ctx.moveToDay(46)
ctx.ensureLabels(`missing-backport`)
c.expectEQ(ctx.entries[0].jobsDone, 1)
c.expectEQ(ctx.entries[1].jobsDone, 2)
@@ -511,8 +511,8 @@ func TestNotMissingBackport(t *testing.T) {
},
},
}
- ctx.jobTestDays = []int{0, 35}
- ctx.moveToDay(35)
+ ctx.jobTestDays = []int{0, 46}
+ ctx.moveToDay(46)
ctx.ensureLabels()
c.expectEQ(ctx.entries[0].jobsDone, 0)
c.expectEQ(ctx.entries[1].jobsDone, 1)