Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2026-07-06 12:30:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.1982 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Mon Jul  6 12:30:40 2026 rev:863 rq:1363783 version:5.1783080295.ebd1693c

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2026-07-03 
16:12:04.724185245 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.1982/openQA.changes  2026-07-06 
12:32:47.148334878 +0200
@@ -2 +2 @@
-Fri Jul 03 11:09:14 UTC 2026 - [email protected]
+Fri Jul 03 12:05:11 UTC 2026 - [email protected]
@@ -4 +4,2 @@
-- Update to version 5.1783076943.6691832d:
+- Update to version 5.1783080295.ebd1693c:
+  * feat: Retry git_clone minion job with exponential backoff

Old:
----
  openQA-5.1783076943.6691832d.obscpio

New:
----
  openQA-5.1783080295.ebd1693c.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.nNegCZ/_old  2026-07-06 12:32:48.384377893 +0200
+++ /var/tmp/diff_new_pack.nNegCZ/_new  2026-07-06 12:32:48.388378032 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1783076943.6691832d
+Version:        5.1783080295.ebd1693c
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.nNegCZ/_old  2026-07-06 12:32:48.416379007 +0200
+++ /var/tmp/diff_new_pack.nNegCZ/_new  2026-07-06 12:32:48.420379146 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1783076943.6691832d
+Version:        5.1783080295.ebd1693c
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.nNegCZ/_old  2026-07-06 12:32:48.460380538 +0200
+++ /var/tmp/diff_new_pack.nNegCZ/_new  2026-07-06 12:32:48.460380538 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1783076943.6691832d
+Version:        5.1783080295.ebd1693c
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.nNegCZ/_old  2026-07-06 12:32:48.496381791 +0200
+++ /var/tmp/diff_new_pack.nNegCZ/_new  2026-07-06 12:32:48.496381791 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1783076943.6691832d
+Version:        5.1783080295.ebd1693c
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.nNegCZ/_old  2026-07-06 12:32:48.528382905 +0200
+++ /var/tmp/diff_new_pack.nNegCZ/_new  2026-07-06 12:32:48.528382905 +0200
@@ -104,7 +104,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1783076943.6691832d
+Version:        5.1783080295.ebd1693c
 Release:        0
 Summary:        Framework for automated system-level testing (web-frontend, 
scheduler and tools)
 Group:          Development/Tools/Other

++++++ openQA-5.1783076943.6691832d.obscpio -> 
openQA-5.1783080295.ebd1693c.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1783076943.6691832d/lib/OpenQA/Task/Git/Clone.pm 
new/openQA-5.1783080295.ebd1693c/lib/OpenQA/Task/Git/Clone.pm
--- old/openQA-5.1783076943.6691832d/lib/OpenQA/Task/Git/Clone.pm       
2026-07-03 13:09:03.000000000 +0200
+++ new/openQA-5.1783080295.ebd1693c/lib/OpenQA/Task/Git/Clone.pm       
2026-07-03 14:04:55.000000000 +0200
@@ -77,7 +77,8 @@
 
         # unblock openQA jobs despite network errors under best-effort 
configuration
         my $retries = $job->retries;
-        my $max_retries = $ENV{OPENQA_GIT_CLONE_RETRIES} // 10;
+        my $retry_delay_on_error = 
($ENV{OPENQA_GIT_CLONE_RETRY_DELAY_ON_ERROR} // 2)**($retries + 1);
+        my $max_retries = $ENV{OPENQA_GIT_CLONE_RETRIES} // 9;    # 
2+4+...+512 = 1022 total delay
         my $max_best_effort_retries = min($max_retries, 
$ENV{OPENQA_GIT_CLONE_RETRIES_BEST_EFFORT} // 2);
         my $gru_task_id = $job->info->{notes}->{gru_id};
         if (   $is_path_only
@@ -89,7 +90,7 @@
             $app->schema->resultset('GruDependencies')->search({gru_task_id => 
$gru_task_id})->delete;
         }
 
-        return $job->retry($retry_delay) if $retries < $max_retries;
+        return $job->retry({delay => $retry_delay_on_error}) if $retries < 
$max_retries;
         return $job->fail($error);
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1783076943.6691832d/t/14-grutasks-git.t 
new/openQA-5.1783080295.ebd1693c/t/14-grutasks-git.t
--- old/openQA-5.1783076943.6691832d/t/14-grutasks-git.t        2026-07-03 
13:09:03.000000000 +0200
+++ new/openQA-5.1783080295.ebd1693c/t/14-grutasks-git.t        2026-07-03 
14:04:55.000000000 +0200
@@ -181,13 +181,23 @@
     };
 
     subtest 'git clone retried on failure' => sub {
-        $ENV{OPENQA_GIT_CLONE_RETRIES} = 1;
+        $ENV{OPENQA_GIT_CLONE_RETRIES} = 3;
         my $openqa_clone = Test::MockModule->new('OpenQA::Task::Git::Clone');
         $openqa_clone->redefine(_git_clone => sub (@) { die "fake error\n" });
+
         $res = run_gru_job(@gru_args);
         is $res->{retries}, 1, 'job retries incremented';
         is $res->{state}, 'inactive', 'job set back to inactive';
+        is +($res->{delayed} - $res->{retried}), 2, 'delay as expected';
+
+        my $job_info = $t->app->minion->jobs({tasks => ['git_clone']})->next;
+        $t->app->minion->job($job_info->{id})->retry({delay => 0});
+        perform_minion_jobs($t->app->minion);
+        $res = $t->app->minion->jobs({tasks => ['git_clone']})->next;
+        is $res->{retries}, 3, 'number of retries as expected';
+        is +($res->{delayed} - $res->{retried}), 8, 'delay after 3 retries as 
expected';
     };
+
     subtest 'git clone fails when all retry attempts exhausted' => sub {
         $ENV{OPENQA_GIT_CLONE_RETRIES} = 0;
         my $openqa_clone = Test::MockModule->new('OpenQA::Task::Git::Clone');

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.nNegCZ/_old  2026-07-06 12:33:03.076889204 +0200
+++ /var/tmp/diff_new_pack.nNegCZ/_new  2026-07-06 12:33:03.092889761 +0200
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1783076943.6691832d
-mtime: 1783076943
-commit: 6691832dfb47aa144e9ddfe4e2ebd8183fb3753b
+version: 5.1783080295.ebd1693c
+mtime: 1783080295
+commit: ebd1693c4409720a74ec9d5203ff0ef70c3227d1
 

Reply via email to