This helps get as many patches tested as possible when a patch (series) requires full rebuilds and keeps the TestBot busy for a long time.
Signed-off-by: Francois Gouget fgouget@codeweavers.com --- testbot/lib/WineTestBot/Patches.pm | 11 ++++++++--- testbot/web/Submit.pl | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/testbot/lib/WineTestBot/Patches.pm b/testbot/lib/WineTestBot/Patches.pm index d021f9cb43..ca8d57f90f 100644 --- a/testbot/lib/WineTestBot/Patches.pm +++ b/testbot/lib/WineTestBot/Patches.pm @@ -152,7 +152,8 @@ sub Submit($$$) # Create a new job for this patch my $Jobs = CreateJobs(); my $NewJob = $Jobs->Add(); - $NewJob->Priority(6); + my $Priority = 5; + $NewJob->Priority($Priority); my $PropertyDescriptor = $Jobs->GetPropertyDescriptorByName("Remarks"); my $Subject = $self->Subject; $Subject =~ s/[PATCH[^]]*]//i; @@ -282,8 +283,11 @@ sub Submit($$$)
my $Task = $Tasks->Add(); $Task->VM($VM); - $Task->Timeout(GetBuildTimeout($Impacts, $TaskMissions) + - GetTestTimeout($Impacts, $TaskMissions)); + my $Timeout = GetBuildTimeout($Impacts, $TaskMissions) + + GetTestTimeout($Impacts, $TaskMissions); + # Let short-running jobs run first + $Priority = 6 if ($Timeout >= $WineBuildTimeout); + $Task->Timeout($Timeout); $Task->Missions($TaskMissions->{Statement}); } } @@ -320,6 +324,7 @@ sub Submit($$$)
# Switch Status to staging to indicate we are done setting up the job $NewJob->Status("staging"); + $NewJob->Priority($Priority); ($ErrKey, $ErrProperty, $ErrMessage) = $Jobs->Save(); if (defined $ErrMessage) { diff --git a/testbot/web/Submit.pl b/testbot/web/Submit.pl index 1943b426e9..f76ca6e1af 100644 --- a/testbot/web/Submit.pl +++ b/testbot/web/Submit.pl @@ -1088,7 +1088,7 @@ sub _SubmitJob($$) my $Jobs = CreateJobs(); my $NewJob = $Jobs->Add(); $NewJob->User($self->GetCurrentSession()->User); - $NewJob->Priority(5); + $NewJob->Priority(4); $NewJob->Remarks($self->{Remarks} || $self->{CmdLineArg} || ""); my $Branch = CreateBranches()->GetItem($self->{Branch}); $NewJob->Branch($Branch) if (defined $Branch);