Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openQA for openSUSE:Factory checked 
in at 2025-08-19 16:47:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.1085 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Tue Aug 19 16:47:52 2025 rev:735 rq:1300295 version:5.1755609067.e3c951fe

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2025-08-18 
16:09:15.581435365 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.1085/openQA.changes  2025-08-19 
16:49:28.843260460 +0200
@@ -1,0 +2,9 @@
+Tue Aug 19 13:11:46 UTC 2025 - ok...@suse.com
+
+- Update to version 5.1755609067.e3c951fe:
+  * Stash gru_dependencies to avoid helper usage in view
+  * Move infopanel gru task link creation to the controller
+  * Create test for GRU task in test details
+  * Link minion job from openQA job with waiting task
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1755504216.b51ff4b1.obscpio

New:
----
  openQA-5.1755609067.e3c951fe.obscpio

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

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.APNyqA/_old  2025-08-19 16:49:29.863302931 +0200
+++ /var/tmp/diff_new_pack.APNyqA/_new  2025-08-19 16:49:29.867303098 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1755504216.b51ff4b1
+Version:        5.1755609067.e3c951fe
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.APNyqA/_old  2025-08-19 16:49:29.891304097 +0200
+++ /var/tmp/diff_new_pack.APNyqA/_new  2025-08-19 16:49:29.891304097 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1755504216.b51ff4b1
+Version:        5.1755609067.e3c951fe
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.APNyqA/_old  2025-08-19 16:49:29.915305097 +0200
+++ /var/tmp/diff_new_pack.APNyqA/_new  2025-08-19 16:49:29.919305263 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1755504216.b51ff4b1
+Version:        5.1755609067.e3c951fe
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.APNyqA/_old  2025-08-19 16:49:29.939306096 +0200
+++ /var/tmp/diff_new_pack.APNyqA/_new  2025-08-19 16:49:29.943306262 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1755504216.b51ff4b1
+Version:        5.1755609067.e3c951fe
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.APNyqA/_old  2025-08-19 16:49:29.983307928 +0200
+++ /var/tmp/diff_new_pack.APNyqA/_new  2025-08-19 16:49:29.987308094 +0200
@@ -97,7 +97,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1755504216.b51ff4b1
+Version:        5.1755609067.e3c951fe
 Release:        0
 Summary:        The openQA web-frontend, scheduler and tools
 License:        GPL-2.0-or-later

++++++ openQA-5.1755504216.b51ff4b1.obscpio -> 
openQA-5.1755609067.e3c951fe.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1755504216.b51ff4b1/lib/OpenQA/Shared/Plugin/Gru.pm 
new/openQA-5.1755609067.e3c951fe/lib/OpenQA/Shared/Plugin/Gru.pm
--- old/openQA-5.1755504216.b51ff4b1/lib/OpenQA/Shared/Plugin/Gru.pm    
2025-08-18 10:03:36.000000000 +0200
+++ new/openQA-5.1755609067.e3c951fe/lib/OpenQA/Shared/Plugin/Gru.pm    
2025-08-19 15:11:07.000000000 +0200
@@ -211,7 +211,7 @@
         @ttl,
         priority => $priority,
         delay => $delay,
-        notes => {gru_id => $gru_id, @notes},
+        notes => {gru_id => $gru_id, "gru_id_$gru_id" => 1, @notes},
         defined $lax ? (lax => $lax) : (),
         defined $parents ? (parents => $parents) : (),
     );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1755504216.b51ff4b1/lib/OpenQA/WebAPI/Controller/Test.pm 
new/openQA-5.1755609067.e3c951fe/lib/OpenQA/WebAPI/Controller/Test.pm
--- old/openQA-5.1755504216.b51ff4b1/lib/OpenQA/WebAPI/Controller/Test.pm       
2025-08-18 10:03:36.000000000 +0200
+++ new/openQA-5.1755609067.e3c951fe/lib/OpenQA/WebAPI/Controller/Test.pm       
2025-08-19 15:11:07.000000000 +0200
@@ -522,8 +522,23 @@
         });
 }
 
+sub _gru_tasks_items ($self, $job) {
+    return [
+        map {
+            my $task = $_->gru_task;
+            my $label = 'id: ' . $task->id . ', name: ' . $task->taskname;
+            my $href = '';
+            if ($self->is_operator) {
+                $href = $self->url_for('/minion/jobs')->query(note => 
'gru_id_' . $task->id, task => $task->taskname);
+            }
+            {label => $label, href => $href}
+        } $job->gru_dependencies
+    ];
+}
+
 sub infopanel ($self) {
     my $job = $self->_stash_job or return $self->reply->not_found;
+    $self->stash(gru_dependencies => $self->_gru_tasks_items($job));
     $self->stash({worker => $job->assigned_worker, additional_data => 1});
     $self->_stash_clone_info($job);
     $self->render('test/infopanel');
@@ -557,6 +572,7 @@
             show_investigation => $job->should_show_investigation,
             show_live_tab => $job->state ne DONE,
         });
+    $self->stash(gru_dependencies => $self->_gru_tasks_items($job));
     $self->_stash_clone_info($job);
     $self->render('test/result');
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1755504216.b51ff4b1/t/ui/18-tests-details.t 
new/openQA-5.1755609067.e3c951fe/t/ui/18-tests-details.t
--- old/openQA-5.1755504216.b51ff4b1/t/ui/18-tests-details.t    2025-08-18 
10:03:36.000000000 +0200
+++ new/openQA-5.1755609067.e3c951fe/t/ui/18-tests-details.t    2025-08-19 
15:11:07.000000000 +0200
@@ -563,6 +563,49 @@
 
 my $t = Test::Mojo->new('OpenQA::WebAPI');
 
+subtest 'GRU dependency shown in infopanel' => sub {
+    my $job = $jobs->find(99927);
+    $job->update({state => SCHEDULED, result => NONE});
+
+    my $task = $schema->resultset('GruTasks')->create(
+        {
+            taskname => 'git_clone',
+            args => {},
+            run_at => DateTime->now(),
+            priority => 0,
+        });
+    my $gru_dep = $schema->resultset('GruDependencies')->create(
+        {
+            job_id => $job->id,
+            gru_task_id => $task->id,
+        });
+
+    $driver->get('/tests/' . $job->id);
+    wait_for_ajax msg => 'job with GRU dependency loaded';
+
+    my $gru_task_id = $gru_dep->gru_task_id;
+
+    subtest 'operator sees link and it works' => sub {
+        ok my $link = $driver->find_element_by_link_text("id: $gru_task_id, 
name: git_clone"), 'found link';
+        like $link->get_attribute('href'), 
qr{minion/jobs\?note=gru_id_$gru_task_id&task=git_clone},
+          'link to minion job shown';
+    };
+
+    subtest 'guest user sees no link' => sub {
+        $driver->get('/logout');
+        wait_for_ajax msg => 'job with GRU dependency loaded';
+        $driver->get('/tests/' . $job->id);
+        wait_for_ajax msg => 'job with GRU dependency loaded';
+
+        my $txt = $driver->find_element('#info_box')->get_text;
+        like $txt, qr{State: .*, waiting for background tasks \(id: 
$gru_task_id, name: git_clone\)},
+          'The infobox is properly formatted';
+
+        my $links = $driver->find_elements('#info_box 
a[href*="/minion/jobs"]');
+        is(scalar(@{$links}), 0, 'Expect 0 link to minion jobs as guest');
+    };
+};
+
 subtest 'scheduled job' => sub {
     $t->get_ok('/tests/99927/infopanel_ajax')->status_is(200);
     $t->content_like(qr/scheduled.*, created.*\d\d\d\d-\d\d-\d\d 
\d\d:\d\d:\d\d/s, 'creation date displayed');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1755504216.b51ff4b1/templates/webapi/test/infopanel.html.ep 
new/openQA-5.1755609067.e3c951fe/templates/webapi/test/infopanel.html.ep
--- old/openQA-5.1755504216.b51ff4b1/templates/webapi/test/infopanel.html.ep    
2025-08-18 10:03:36.000000000 +0200
+++ new/openQA-5.1755609067.e3c951fe/templates/webapi/test/infopanel.html.ep    
2025-08-19 15:11:07.000000000 +0200
@@ -45,13 +45,13 @@
                     % }
                     % else {
                         % my $state_detail = '';
-                        % if (my @gru_deps = $job->gru_dependencies) {
+                        % if (@$gru_dependencies) {
                             % $state_detail = join(';', map {
-                            %   'id: ' . $_->id . ', name: ' . $_->taskname
-                            %  } map { $_->gru_task // () } @gru_deps);
-                            % $state_detail = ", waiting for background tasks 
($state_detail)";
+                            %   $_->{href} ? link_to($_->{label} => 
$_->{href}) : $_->{label}
+                            % } @$gru_dependencies);
+                            % $state_detail = qq{, waiting for background 
tasks ($state_detail)};
                         % }
-                        State: <b><%= $job->state %></b><%= $state_detail %>\
+                        State: <b><%= $job->state %></b><%== $state_detail %>\
                     % }
                     % if ($job->t_finished) {
                         <%= ', finished' =%>

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.APNyqA/_old  2025-08-19 16:49:52.116229535 +0200
+++ /var/tmp/diff_new_pack.APNyqA/_new  2025-08-19 16:49:52.120229701 +0200
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1755504216.b51ff4b1
-mtime: 1755504216
-commit: b51ff4b19a6116c3a2498e90e17aff064f5172bc
+version: 5.1755609067.e3c951fe
+mtime: 1755609067
+commit: e3c951fe1f8adbcc3e1c8182db6b8981fd7f8742
 

Reply via email to