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-06-17 16:19:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
 and      /work/SRC/openSUSE:Factory/.openQA.new.1981 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openQA"

Wed Jun 17 16:19:54 2026 rev:852 rq:1359837 version:5.1781621316.6d025b35

Changes:
--------
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes    2026-06-05 
15:04:57.223862249 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.1981/openQA.changes  2026-06-17 
16:20:14.491888672 +0200
@@ -1,0 +2,31 @@
+Tue Jun 16 14:48:47 UTC 2026 - [email protected]
+
+- Update to version 5.1781621316.6d025b35:
+  * refactor: set clean monikers for Mojo services
+  * feat: use encrypted session cookies
+  * chore(deps): Dependency cron 2026-06-13
+  * docs: Mention how to enable UEFI and recently added variables
+  * docs: fix broken badge syntax in README.md
+  * feat(apparmor): add current worker profile as generated by aa-logprof
+  * feat(apparmor): add current worker requirements in /proc and /sys
+  * chore(deps): Dependency cron 2026-06-12
+  * git subrepo pull (merge) external/os-autoinst-common
+  * docs: Fix wrapping in "Job Priority Throttling" section
+  * fix(apparmor): Allow worker profile to use virt-fw-vars
+  * fix(livelog): Prevent timeouts due to nginx buffering
+  * fix: avoid initial delay when replying from livestream
+  * chore(deps): Dependency cron 2026-06-10
+  * chore(deps): Dependency cron 2026-06-09
+  * test: Skip earlier in tests_dependencies.t
+  * fix: Use reload-or-restart for openQA auto restart worker slots
+  * fix: Update codecov orb to latest version 6.0.0 fixing PGP error
+  * chore(deps): Dependency cron 2026-06-06
+  * fix: Support invent.kde.org and 'work_items' in bug URL handling
+  * ci(mergify): prevent annoying conflict messages
+  * docs: Rewrite medium version globbing in more user-facing style
+  * docs: Mention globbing in "Spawning multiple jobs …" and "Medium types"
+  * feat(scheduling): Allow globbing in version specifications
+  * fix: Set correct settings for scheduling example test
+  * refactor: Fix comment regarding `test_preset` INI section
+
+-------------------------------------------------------------------

Old:
----
  openQA-5.1780561853.63760953.obscpio

New:
----
  openQA-5.1781621316.6d025b35.obscpio

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

Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.HPATS7/_old  2026-06-17 16:20:16.743982866 +0200
+++ /var/tmp/diff_new_pack.HPATS7/_new  2026-06-17 16:20:16.747983033 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-client
 Name:           %{short_name}-test
-Version:        5.1780561853.63760953
+Version:        5.1781621316.6d025b35
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.HPATS7/_old  2026-06-17 16:20:16.775984204 +0200
+++ /var/tmp/diff_new_pack.HPATS7/_new  2026-06-17 16:20:16.779984372 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-devel
 Name:           %{short_name}-test
-Version:        5.1780561853.63760953
+Version:        5.1781621316.6d025b35
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.HPATS7/_old  2026-06-17 16:20:16.815985878 +0200
+++ /var/tmp/diff_new_pack.HPATS7/_new  2026-06-17 16:20:16.815985878 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA
 Name:           %{short_name}-test
-Version:        5.1780561853.63760953
+Version:        5.1781621316.6d025b35
 Release:        0
 Summary:        Test package for openQA
 License:        GPL-2.0-or-later

++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.HPATS7/_old  2026-06-17 16:20:16.851987383 +0200
+++ /var/tmp/diff_new_pack.HPATS7/_new  2026-06-17 16:20:16.851987383 +0200
@@ -18,7 +18,7 @@
 
 %define         short_name openQA-worker
 Name:           %{short_name}-test
-Version:        5.1780561853.63760953
+Version:        5.1781621316.6d025b35
 Release:        0
 Summary:        Test package for %{short_name}
 License:        GPL-2.0-or-later

++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.HPATS7/_old  2026-06-17 16:20:16.899989391 +0200
+++ /var/tmp/diff_new_pack.HPATS7/_new  2026-06-17 16:20:16.903989558 +0200
@@ -67,7 +67,7 @@
 %define common_requires ntp-daemon perl >= 5.20.0 perl(Carp::Always) >= 
0.14.02 perl(Config::IniFiles) perl(Cpanel::JSON::XS) >= 4.09 perl(Cwd) 
perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5) 
perl(Feature::Compat::Try) perl(Filesys::Df) perl(Getopt::Long) 
perl(HTTP::Status) perl(Minion) >= 10.25 perl(Mojolicious) >= 9.340.0 
perl(Regexp::Common) perl(Storable) perl(Text::Glob) perl(Time::Moment)
 # runtime requirements for the main package that are not required by other 
sub-packages
 # The following line is generated from dependencies.yaml
-%define main_requires %assetpack_requires bsdtar git-core hostname 
openssh-clients perl(BSD::Resource) perl(Carp) perl(CommonMark) perl(DBD::Pg) 
>= 3.7.4 perl(DBI) >= 1.632 perl(DBIx::Class) >= 0.082801 
perl(DBIx::Class::DeploymentHandler) perl(DBIx::Class::DynamicDefault) 
perl(DBIx::Class::OptimisticLocking) 
perl(DBIx::Class::ResultClass::HashRefInflator) 
perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) 
perl(Date::Format) perl(DateTime) perl(DateTime::Duration) 
perl(DateTime::Format::Pg) perl(Exporter) perl(Fcntl) perl(File::Basename) 
perl(File::Copy) perl(File::Copy::Recursive) perl(File::Path) perl(File::Spec) 
perl(FindBin) perl(Getopt::Long::Descriptive) perl(IO::Handle) perl(IPC::Run) 
perl(JSON::Validator) perl(LWP::UserAgent) perl(Module::Load::Conditional) 
perl(Module::Pluggable) perl(Mojo::Base) perl(Mojo::ByteStream) 
perl(Mojo::IOLoop) perl(Mojo::JSON) perl(Mojo::Pg) perl(Mojo::RabbitMQ::Client) 
>= 0.2 perl(Mojo::URL) perl(Mojo::Util) perl(Mojoliciou
 s::Commands) perl(Mojolicious::Plugin) perl(Mojolicious::Plugin::OAuth2) 
perl(Mojolicious::Static) perl(Net::OpenID::Consumer) perl(POSIX) 
perl(Pod::POM) perl(SQL::Translator) perl(Scalar::Util) perl(Sort::Versions) 
perl(Text::Diff) perl(Time::HiRes) perl(Time::ParseDate) perl(Time::Piece) 
perl(Time::Seconds) perl(URI::Escape) perl(YAML::PP) >= 0.026 perl(YAML::XS) 
perl(aliased) perl(base) perl(constant) perl(diagnostics) perl(strict) 
perl(warnings)
+%define main_requires %assetpack_requires bsdtar git-core hostname 
openssh-clients perl(BSD::Resource) perl(Carp) perl(CommonMark) perl(CryptX) 
perl(DBD::Pg) >= 3.7.4 perl(DBI) >= 1.632 perl(DBIx::Class) >= 0.082801 
perl(DBIx::Class::DeploymentHandler) perl(DBIx::Class::DynamicDefault) 
perl(DBIx::Class::OptimisticLocking) 
perl(DBIx::Class::ResultClass::HashRefInflator) 
perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) 
perl(Date::Format) perl(DateTime) perl(DateTime::Duration) 
perl(DateTime::Format::Pg) perl(Exporter) perl(Fcntl) perl(File::Basename) 
perl(File::Copy) perl(File::Copy::Recursive) perl(File::Path) perl(File::Spec) 
perl(FindBin) perl(Getopt::Long::Descriptive) perl(IO::Handle) perl(IPC::Run) 
perl(JSON::Validator) perl(LWP::UserAgent) perl(Module::Load::Conditional) 
perl(Module::Pluggable) perl(Mojo::Base) perl(Mojo::ByteStream) 
perl(Mojo::IOLoop) perl(Mojo::JSON) perl(Mojo::Pg) perl(Mojo::RabbitMQ::Client) 
>= 0.2 perl(Mojo::URL) perl(Mojo::Util) pe
 rl(Mojolicious::Commands) perl(Mojolicious::Plugin) 
perl(Mojolicious::Plugin::OAuth2) perl(Mojolicious::Static) 
perl(Net::OpenID::Consumer) perl(POSIX) perl(Pod::POM) perl(SQL::Translator) 
perl(Scalar::Util) perl(Sort::Versions) perl(Text::Diff) perl(Time::HiRes) 
perl(Time::ParseDate) perl(Time::Piece) perl(Time::Seconds) perl(URI::Escape) 
perl(YAML::PP) >= 0.026 perl(YAML::XS) perl(aliased) perl(base) perl(constant) 
perl(diagnostics) perl(strict) perl(warnings)
 # The following line is generated from dependencies.yaml
 %define client_requires curl git-core jq perl(Getopt::Long::Descriptive) 
perl(IO::Socket::SSL) >= 2.009 perl(IPC::Run) perl(JSON::Validator) 
perl(LWP::Protocol::https) perl(LWP::UserAgent) perl(Test::More) perl(YAML::PP) 
>= 0.020 perl(YAML::XS)
 # The following line is generated from dependencies.yaml
@@ -104,7 +104,7 @@
 %define devel_requires %devel_no_selenium_requires chromedriver
 
 Name:           openQA
-Version:        5.1780561853.63760953
+Version:        5.1781621316.6d025b35
 Release:        0
 Summary:        Framework for automated system-level testing (web-frontend, 
scheduler and tools)
 Group:          Development/Tools/Other
@@ -599,7 +599,7 @@
 #        "$1 -ge 1" checks for a package upgrade
 if [ -x /usr/bin/systemctl ] && [ $1 -ge 1 ]; then
     /usr/bin/systemctl daemon-reload || :
-    /usr/bin/systemctl reload 'openqa-worker-auto-restart@*.service' || :
+    /usr/bin/systemctl reload-or-restart 
'openqa-worker-auto-restart@*.service' || :
 fi
 
 %postun auto-update

++++++ openQA-5.1780561853.63760953.obscpio -> 
openQA-5.1781621316.6d025b35.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/.circleci/config.yml 
new/openQA-5.1781621316.6d025b35/.circleci/config.yml
--- old/openQA-5.1780561853.63760953/.circleci/config.yml       2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/.circleci/config.yml       2026-06-16 
16:48:36.000000000 +0200
@@ -1,7 +1,7 @@
 version: 2.1
 
 orbs:
-  codecov: codecov/[email protected]
+  codecov: codecov/[email protected]
 
 aliases:
   - &restore_fullstack_cache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/.mergify.yml 
new/openQA-5.1781621316.6d025b35/.mergify.yml
--- old/openQA-5.1780561853.63760953/.mergify.yml       2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/.mergify.yml       2026-06-16 
16:48:36.000000000 +0200
@@ -37,12 +37,6 @@
       - and: *base_checks
       - author~=^os-autoinst-bot$
     actions: *merge
-  - name: ask to resolve conflict
-    conditions:
-      - conflict
-    actions:
-      comment:
-        message: This pull request is now in conflicts. Could you fix it? 🙏
   - name: automatic merge for dependabot updates
     conditions:
       - and: *base_checks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/README.md 
new/openQA-5.1781621316.6d025b35/README.md
--- old/openQA-5.1780561853.63760953/README.md  2026-06-04 10:30:53.000000000 
+0200
+++ new/openQA-5.1781621316.6d025b35/README.md  2026-06-16 16:48:36.000000000 
+0200
@@ -1,4 +1,4 @@
-image:https://codecov.io/gh/os-autoinst/openQA/branch/master/graph/badge.svg[link=https://codecov.io/gh/os-autoinst/openQA]
 
image:https://circleci.com/gh/os-autoinst/openQA/tree/master.svg?style=svg["CircleCI";,
 link="https://circleci.com/gh/os-autoinst/openQA/tree/master";] 
image:https://openqa.opensuse.org/tests/latest/badge?arch=x86_64&distri=openqa&flavor=dev&test=openqa_install%2Bpublish&version=Tumbleweed[link="https://openqa.opensuse.org/tests/latest?arch=x86_64&distri=openqa&flavor=dev&machine=64bit-2G&test=openqa_install%2Bpublish&version=Tumbleweed";]
+[![codecov](https://codecov.io/gh/os-autoinst/openQA/branch/master/graph/badge.svg)](https://codecov.io/gh/os-autoinst/openQA)
 
[![CircleCI](https://circleci.com/gh/os-autoinst/openQA/tree/master.svg?style=svg)](https://circleci.com/gh/os-autoinst/openQA/tree/master)
 [![openQA integration 
tests](https://openqa.opensuse.org/tests/latest/badge?arch=x86_64&distri=openqa&flavor=dev&test=openqa_install%2Bpublish&version=Tumbleweed)](https://openqa.opensuse.org/tests/latest?arch=x86_64&distri=openqa&flavor=dev&machine=64bit-2G&test=openqa_install%2Bpublish&version=Tumbleweed)
 
 openQA is a testing framework that allows you to test GUI applications on one
 hand and bootloader and kernel on the other. In both cases, it is difficult to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/container/webui/nginx.conf 
new/openQA-5.1781621316.6d025b35/container/webui/nginx.conf
--- old/openQA-5.1780561853.63760953/container/webui/nginx.conf 2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/container/webui/nginx.conf 2026-06-16 
16:48:36.000000000 +0200
@@ -37,6 +37,7 @@
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection $connection_upgrade;
             proxy_set_header Host $host;
+            proxy_buffering off;
         }
 
         location /assets/ {
@@ -49,5 +50,15 @@
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_pass http://webui;
         }
+
+        location ~ /tests/[0-9]+/(livelog|liveterminal)$ {
+            # Duplicate settings for location /, nginx can't merge locations 
:-(
+            proxy_set_header X-Forwarded-Host $host:$server_port;
+            proxy_set_header X-Forwarded-Server $host;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_pass http://webui;
+
+            proxy_buffering off;
+        }
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/cpanfile 
new/openQA-5.1781621316.6d025b35/cpanfile
--- old/openQA-5.1780561853.63760953/cpanfile   2026-06-04 10:30:53.000000000 
+0200
+++ new/openQA-5.1781621316.6d025b35/cpanfile   2026-06-16 16:48:36.000000000 
+0200
@@ -12,6 +12,7 @@
 requires 'CommonMark';
 requires 'Config::IniFiles';
 requires 'Cpanel::JSON::XS', '>= 4.09';
+requires 'CryptX';
 requires 'Cwd';
 requires 'DBD::Pg', '>= 3.007004';
 requires 'DBI', '>= 1.632';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/dependencies.yaml 
new/openQA-5.1781621316.6d025b35/dependencies.yaml
--- old/openQA-5.1780561853.63760953/dependencies.yaml  2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/dependencies.yaml  2026-06-16 
16:48:36.000000000 +0200
@@ -110,6 +110,7 @@
   perl(BSD::Resource):
   perl(Carp):
   perl(CommonMark):
+  perl(CryptX):
   perl(Date::Format):
   perl(DateTime):
   perl(DateTime::Duration):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/dist/rpm/openQA.spec 
new/openQA-5.1781621316.6d025b35/dist/rpm/openQA.spec
--- old/openQA-5.1780561853.63760953/dist/rpm/openQA.spec       2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/dist/rpm/openQA.spec       2026-06-16 
16:48:36.000000000 +0200
@@ -67,7 +67,7 @@
 %define common_requires ntp-daemon perl >= 5.20.0 perl(Carp::Always) >= 
0.14.02 perl(Config::IniFiles) perl(Cpanel::JSON::XS) >= 4.09 perl(Cwd) 
perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5) 
perl(Feature::Compat::Try) perl(Filesys::Df) perl(Getopt::Long) 
perl(HTTP::Status) perl(Minion) >= 10.25 perl(Mojolicious) >= 9.340.0 
perl(Regexp::Common) perl(Storable) perl(Text::Glob) perl(Time::Moment)
 # runtime requirements for the main package that are not required by other 
sub-packages
 # The following line is generated from dependencies.yaml
-%define main_requires %assetpack_requires bsdtar git-core hostname 
openssh-clients perl(BSD::Resource) perl(Carp) perl(CommonMark) perl(DBD::Pg) 
>= 3.7.4 perl(DBI) >= 1.632 perl(DBIx::Class) >= 0.082801 
perl(DBIx::Class::DeploymentHandler) perl(DBIx::Class::DynamicDefault) 
perl(DBIx::Class::OptimisticLocking) 
perl(DBIx::Class::ResultClass::HashRefInflator) 
perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) 
perl(Date::Format) perl(DateTime) perl(DateTime::Duration) 
perl(DateTime::Format::Pg) perl(Exporter) perl(Fcntl) perl(File::Basename) 
perl(File::Copy) perl(File::Copy::Recursive) perl(File::Path) perl(File::Spec) 
perl(FindBin) perl(Getopt::Long::Descriptive) perl(IO::Handle) perl(IPC::Run) 
perl(JSON::Validator) perl(LWP::UserAgent) perl(Module::Load::Conditional) 
perl(Module::Pluggable) perl(Mojo::Base) perl(Mojo::ByteStream) 
perl(Mojo::IOLoop) perl(Mojo::JSON) perl(Mojo::Pg) perl(Mojo::RabbitMQ::Client) 
>= 0.2 perl(Mojo::URL) perl(Mojo::Util) perl(Mojoliciou
 s::Commands) perl(Mojolicious::Plugin) perl(Mojolicious::Plugin::OAuth2) 
perl(Mojolicious::Static) perl(Net::OpenID::Consumer) perl(POSIX) 
perl(Pod::POM) perl(SQL::Translator) perl(Scalar::Util) perl(Sort::Versions) 
perl(Text::Diff) perl(Time::HiRes) perl(Time::ParseDate) perl(Time::Piece) 
perl(Time::Seconds) perl(URI::Escape) perl(YAML::PP) >= 0.026 perl(YAML::XS) 
perl(aliased) perl(base) perl(constant) perl(diagnostics) perl(strict) 
perl(warnings)
+%define main_requires %assetpack_requires bsdtar git-core hostname 
openssh-clients perl(BSD::Resource) perl(Carp) perl(CommonMark) perl(CryptX) 
perl(DBD::Pg) >= 3.7.4 perl(DBI) >= 1.632 perl(DBIx::Class) >= 0.082801 
perl(DBIx::Class::DeploymentHandler) perl(DBIx::Class::DynamicDefault) 
perl(DBIx::Class::OptimisticLocking) 
perl(DBIx::Class::ResultClass::HashRefInflator) 
perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) 
perl(Date::Format) perl(DateTime) perl(DateTime::Duration) 
perl(DateTime::Format::Pg) perl(Exporter) perl(Fcntl) perl(File::Basename) 
perl(File::Copy) perl(File::Copy::Recursive) perl(File::Path) perl(File::Spec) 
perl(FindBin) perl(Getopt::Long::Descriptive) perl(IO::Handle) perl(IPC::Run) 
perl(JSON::Validator) perl(LWP::UserAgent) perl(Module::Load::Conditional) 
perl(Module::Pluggable) perl(Mojo::Base) perl(Mojo::ByteStream) 
perl(Mojo::IOLoop) perl(Mojo::JSON) perl(Mojo::Pg) perl(Mojo::RabbitMQ::Client) 
>= 0.2 perl(Mojo::URL) perl(Mojo::Util) pe
 rl(Mojolicious::Commands) perl(Mojolicious::Plugin) 
perl(Mojolicious::Plugin::OAuth2) perl(Mojolicious::Static) 
perl(Net::OpenID::Consumer) perl(POSIX) perl(Pod::POM) perl(SQL::Translator) 
perl(Scalar::Util) perl(Sort::Versions) perl(Text::Diff) perl(Time::HiRes) 
perl(Time::ParseDate) perl(Time::Piece) perl(Time::Seconds) perl(URI::Escape) 
perl(YAML::PP) >= 0.026 perl(YAML::XS) perl(aliased) perl(base) perl(constant) 
perl(diagnostics) perl(strict) perl(warnings)
 # The following line is generated from dependencies.yaml
 %define client_requires curl git-core jq perl(Getopt::Long::Descriptive) 
perl(IO::Socket::SSL) >= 2.009 perl(IPC::Run) perl(JSON::Validator) 
perl(LWP::Protocol::https) perl(LWP::UserAgent) perl(Test::More) perl(YAML::PP) 
>= 0.020 perl(YAML::XS)
 # The following line is generated from dependencies.yaml
@@ -600,7 +600,7 @@
 #        "$1 -ge 1" checks for a package upgrade
 if [ -x /usr/bin/systemctl ] && [ $1 -ge 1 ]; then
     /usr/bin/systemctl daemon-reload || :
-    /usr/bin/systemctl reload 'openqa-worker-auto-restart@*.service' || :
+    /usr/bin/systemctl reload-or-restart 
'openqa-worker-auto-restart@*.service' || :
 fi
 
 %postun auto-update
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/docs/Installing.md 
new/openQA-5.1781621316.6d025b35/docs/Installing.md
--- old/openQA-5.1780561853.63760953/docs/Installing.md 2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/docs/Installing.md 2026-06-16 
16:48:36.000000000 +0200
@@ -69,6 +69,7 @@
     DISTRI=example VERSION=0 FLAVOR=DVD ARCH=x86_64 \
     TEST=simple_boot _GROUP_ID=0 BUILD=test \
     CASEDIR=https://github.com/os-autoinst/os-autoinst-distri-example.git \
+    PRODUCTDIR=. \
     NEEDLES_DIR=%%CASEDIR%%/needles
 
 openqa-clone-job https://openqa.opensuse.org/tests/1
@@ -684,17 +685,20 @@
 - `parameter_n`: the name of a parameter
 - `reference_n`: an optional threshold or reference, that can be zero, making
   the scale negative or positive for values lower or higher than it.
-
 - `scale_n`: the priority scale factor applied to the difference between the
-  parameter and its reference. This number is based on experience and custom 
needs.
-  When it is missing or zero, the throttling isn't applied for the parameter n.
+  parameter and its reference. This number is based on experience and custom
+  needs. When it is missing or zero, the throttling isn't applied for the
+  parameter n.
 
 `MAX_JOB_TIME`, the max duration of the job in seconds, can also have a
 throttling scale configured to encourage shorter test runtimes. When this
-parameter is missing in the settings, a `DEFAULT_MAX_JOB_TIME` value is 
assumed (refer to openQA code). A positive `TIMEOUT_SCALE`, 1 by default, may 
also be
+parameter is missing in the settings, a `DEFAULT_MAX_JOB_TIME` value is assumed
+(refer to openQA code). A positive `TIMEOUT_SCALE`, 1 by default, may also be
 defined to multiply the job time and the scale applies to the resulting 
product.
-Its scale only applies to jobs having that value exceeding 
`DEFAULT_MAX_JOB_TIME`. When defining a custom `prio_throttling_parameters` 
configuration, administrators must explicitly include the `MAX_JOB_TIME` rule, 
to retain
-runtime-based throttling.
+Its scale only applies to jobs having that value exceeding
+`DEFAULT_MAX_JOB_TIME`. When defining a custom `prio_throttling_parameters`
+configuration, administrators must explicitly include the `MAX_JOB_TIME` rule,
+to retain runtime-based throttling.
 
 The final priority of a job is the sum of a base priority, defined in the job
 templates or scenario definitions, plus all adjustments calculated for the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/docs/UsersGuide.md 
new/openQA-5.1781621316.6d025b35/docs/UsersGuide.md
--- old/openQA-5.1780561853.63760953/docs/UsersGuide.md 2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/docs/UsersGuide.md 2026-06-16 
16:48:36.000000000 +0200
@@ -122,13 +122,23 @@
 - `PROMO` marks the promotional product.
 - `RESCUECD` is set to 1 for rescue CD images.
 
-The version of a medium can be set to `*`. Then this medium is considered if a
-product is scheduled with a `VERSION` parameter that does not match any other
-medium. This allows having only one medium per version. Note that having a
-medium with a concrete version and one with `*` at the same time is usually not
-a good idea as you will likely run into the scheduling error `no templates 
found`
-`for product …` (unless you actually have job templates for all these medium
-types).
+#### Using Wildcards in Medium Versions
+You can use the `*` character within a medium version to enable a fallback
+lookup using globbing. This is particularly helpful for the following 
scenarios:
+
+- *Consolidating generic medium types:* Instead of creating a unique medium
+  type for every single version, you can use `*` as a catch-all version.
+    - Tip: Avoid defining a concrete version (e.g., `16.1`) and a wildcard
+      version (`*`) within one schedule definition unless you have matching job
+      templates for both, as this can trigger a scheduling error
+      (`no templates found for product...`).
+- *Handling isolated tests for individual submissions (e.g. pull-requests):*
+  When testing such submissions, schedule the products with e.g.,
+  `VERSION=16.1:PR-1234`. This will avoid cluttering the "Next & Previous" 
table
+  and prevent unintended carry-overs. Then specify a partial-match as the 
medium
+  version. For example by specifying `16.1:PR-*` in the medium type, openQA 
will
+  automatically match and use this type for any scheduled product where the
+  `VERSION` begins with `16.1:PR-`.
 
 ### Test Suites
 
@@ -1252,7 +1262,7 @@
 matching medium types based on the relevant job templates for each job group.
 
 If there is no medium type matching the specified `VERSION`, the lookup falls
-back to matching any medium with version `*`. Check out
+back to using globbing. Check out
 [the section about medium types](UsersGuide.md#medium_types_products) for
 details.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/docs/WritingTests.md 
new/openQA-5.1781621316.6d025b35/docs/WritingTests.md
--- old/openQA-5.1780561853.63760953/docs/WritingTests.md       2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/docs/WritingTests.md       2026-06-16 
16:48:36.000000000 +0200
@@ -501,6 +501,18 @@
 within the worker settings on slow worker hosts. It has no influence on the
 video setting.
 
+### Enabling UEFI with QEMU
+Use `UEFI=1` to enable UEFI with the QEMU backend. If your image does not boot
+due to SecureBoot, you can specify the certificate you image is signed with via
+e.g. `UEFI_PFLASH_CERTS=custom.crt` (and use e.g. `ASSET_1=custom.crt` to track
+the certificate as [asset](UsersGuide.md#asset-handling)). It is also possible
+to disable SecureBoot completely via `UEFI_PFLASH_SECURE_BOOT=1`.
+
+When enabling UEFI, you can set the firmware resolution using
+`UEFI_PFLASH_RESOLUTION`, e.g. `UEFI_PFLASH_RESOLUTION=1024x768`. Check out the
+[QEMU backend variables 
documentation](https://github.com/os-autoinst/os-autoinst/blob/master/doc/backend_vars.md#qemu-backend)
+for further UEFI-related settings.
+
 ### Capturing kernel exceptions and/or any other exceptions from the serial 
console
 
 Soft and hard failures can be triggered on demand by regular expressions when
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/etc/nginx/vhosts.d/openqa-endpoints.inc 
new/openQA-5.1781621316.6d025b35/etc/nginx/vhosts.d/openqa-endpoints.inc
--- old/openQA-5.1780561853.63760953/etc/nginx/vhosts.d/openqa-endpoints.inc    
2026-06-04 10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/etc/nginx/vhosts.d/openqa-endpoints.inc    
2026-06-16 16:48:36.000000000 +0200
@@ -53,6 +53,7 @@
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";
     proxy_set_header Host $host;
+    proxy_buffering off;
 }
 
 location / {
@@ -66,3 +67,18 @@
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto $scheme;
 }
+
+location ~ /tests/[0-9]+/(livelog|liveterminal)$ {
+    # Duplicate settings for location /, nginx can't merge locations :-(
+    proxy_pass "http://webui";;
+    tcp_nodelay        on;
+    proxy_read_timeout 900;
+    proxy_send_timeout 900;
+    proxy_set_header Host $host;
+    proxy_set_header X-Forwarded-Host $host:$server_port;
+    proxy_set_header X-Forwarded-Server $host;
+    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+    proxy_set_header X-Forwarded-Proto $scheme;
+
+    proxy_buffering off;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/external/os-autoinst-common/.gitrepo 
new/openQA-5.1781621316.6d025b35/external/os-autoinst-common/.gitrepo
--- old/openQA-5.1780561853.63760953/external/os-autoinst-common/.gitrepo       
2026-06-04 10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/external/os-autoinst-common/.gitrepo       
2026-06-16 16:48:36.000000000 +0200
@@ -6,7 +6,7 @@
 [subrepo]
        remote = [email protected]:os-autoinst/os-autoinst-common.git
        branch = master
-       commit = 0a185ba03e7a44fa2353016d7702190acfdaab5d
+       commit = e9a35c74028cb8f1e64a4d787d5751dd7b0790c8
        parent = 93fed5d3ab0eba22d8cea9f9685904ee8a612823
        method = merge
        cmdver = 0.4.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/external/os-autoinst-common/tools/prove_wrapper
 
new/openQA-5.1781621316.6d025b35/external/os-autoinst-common/tools/prove_wrapper
--- 
old/openQA-5.1780561853.63760953/external/os-autoinst-common/tools/prove_wrapper
    2026-06-04 10:30:53.000000000 +0200
+++ 
new/openQA-5.1781621316.6d025b35/external/os-autoinst-common/tools/prove_wrapper
    2026-06-16 16:48:36.000000000 +0200
@@ -7,8 +7,11 @@
 prove_cmd=(prove -I .)
 
 # skip the check for unhandled output when running in verbose mode
-for arg in "$@"; do [[ $arg =~ (-v|--verbose) ]] && TEST_VERBOSE=1 && break; 
done
-[[ ${TEST_VERBOSE:-} && $TEST_VERBOSE != 0 ]] && exec "${prove_cmd[@]}" "$@"
+for arg in "$@"; do [[ $arg =~ ^(-v|--verbose)$ ]] && TEST_VERBOSE=$arg && 
break; done
+if [[ ${TEST_VERBOSE:-} && $TEST_VERBOSE != 0 ]]; then
+    echo "Skipping TAP output check as tests are running in verbose mode 
(arg/env: $TEST_VERBOSE) ..."
+    exec "${prove_cmd[@]}" "$@"
+fi
 
 echo "Running prove with TAP output check ..."
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/lib/OpenQA/CacheService.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/CacheService.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/CacheService.pm 2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/CacheService.pm 2026-06-16 
16:48:36.000000000 +0200
@@ -43,6 +43,7 @@
 }
 
 sub startup ($self) {
+    $self->moniker('openqa_cache_service');
     $self->defaults(appname => 'openQA Cache Service');
     # Provide help to users early to prevent failing later on
     # misconfigurations
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/lib/OpenQA/LiveHandler.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/LiveHandler.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/LiveHandler.pm  2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/LiveHandler.pm  2026-06-16 
16:48:36.000000000 +0200
@@ -18,6 +18,7 @@
 
 # This method will run once at server start
 sub startup ($self) {
+    $self->moniker('openqa_webapi');
     $self->defaults(appname => 'openQA Live Handler');
 
     $self->ua->max_redirects(3);
@@ -29,6 +30,7 @@
     OpenQA::Setup::read_config($self);
     setup_log($self);
     OpenQA::Setup::add_build_tx_time_header($self);
+    $self->sessions->encrypted(1) if $self->sessions->can('encrypted');
 
     # Some plugins are shared between openQA micro services
     push @{$self->plugins->namespaces}, 'OpenQA::LiveHandler::Plugin', 
'OpenQA::Shared::Plugin';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/lib/OpenQA/Scheduler.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/Scheduler.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/Scheduler.pm    2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/Scheduler.pm    2026-06-16 
16:48:36.000000000 +0200
@@ -24,6 +24,8 @@
 our $RUNNING;
 
 sub startup ($self) {
+    $self->moniker('openqa_scheduler');
+
     # Provide help to users early to prevent failing later on misconfigurations
     return if $ENV{MOJO_HELP};
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/lib/OpenQA/Schema/Result/ScheduledProducts.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/Schema/Result/ScheduledProducts.pm
--- 
old/openQA-5.1780561853.63760953/lib/OpenQA/Schema/Result/ScheduledProducts.pm  
    2026-06-04 10:30:53.000000000 +0200
+++ 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/Schema/Result/ScheduledProducts.pm  
    2026-06-16 16:48:36.000000000 +0200
@@ -520,6 +520,14 @@
     return \@out;
 }
 
+# define SQL code for WHERE-condition to search for products using globbing as 
fallback
+# - Escape present '%' and '_' characters so they are still matched literally.
+# - Replace '*' with '%' to support regular globbing via the SQL 
LIKE-expression.
+my $VERSION_COND_WITH_GLOBBING = <<~"END_SQL"
+    distri = ? and ? like replace(replace(replace(version, '%', '\%'), '_', 
'\_'), '*', '%') and flavor = ? and arch = ?
+    END_SQL
+  ;
+
 =over 4
 
 =item _generate_jobs()
@@ -535,23 +543,15 @@
 sub _generate_jobs ($self, $args, $notes, $skip_chained_deps, 
$include_children) {
     my $ret = [];
     my $schema = $self->result_source->schema;
-    my @products = $schema->resultset('Products')->search(
-        {
-            distri => _distri_key($args),
-            version => $args->{VERSION},
-            flavor => $args->{FLAVOR},
-            arch => $args->{ARCH},
-        });
 
+    my $products = $schema->resultset('Products');
+    my $distri = _distri_key($args);
+    my @products = $products->search(
+        {distri => $distri, version => $args->{VERSION}, flavor => 
$args->{FLAVOR}, arch => $args->{ARCH}});
     unless (@products) {
-        push @$notes, qq|no products found for version "$args->{VERSION}", 
falling back to "*"|;
-        @products = $schema->resultset('Products')->search(
-            {
-                distri => _distri_key($args),
-                version => '*',
-                flavor => $args->{FLAVOR},
-                arch => $args->{ARCH},
-            });
+        push @$notes, qq|no products found for version "$args->{VERSION}", 
considering globbing via "*"|;
+        @products = $products->search(
+            \[$VERSION_COND_WITH_GLOBBING, $distri, $args->{VERSION}, 
$args->{FLAVOR}, $args->{ARCH}]);
     }
 
     if (!@products) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/lib/OpenQA/Setup.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/Setup.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/Setup.pm        2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/Setup.pm        2026-06-16 
16:48:36.000000000 +0200
@@ -319,6 +319,8 @@
             casedir => 
'https://github.com/os-autoinst/os-autoinst-distri-example.git',
             distri => 'example',
             build => 'openqa',
+            needles_dir => '%%CASEDIR%%/needles',
+            settings => 'PRODUCTDIR=.',
         }};
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/lib/OpenQA/Shared/Controller/Running.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/Shared/Controller/Running.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/Shared/Controller/Running.pm    
2026-06-04 10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/Shared/Controller/Running.pm    
2026-06-16 16:48:36.000000000 +0200
@@ -203,34 +203,35 @@
     my $last_png = "$basepath/last.png";
     my $backend_run_file = "$basepath/backend.run";
     my $lastfile = '';
-    $timer_id = Mojo::IOLoop->recurring(
-        IMAGE_STREAMING_INTERVAL() => sub (@) {
-            my $newfile = readlink($last_png) || '';
-            return if $lastfile eq $newfile;
-
-            my ($file, $close);
-            if (!-l $newfile || !$lastfile) {
-                $file = path($basepath, $newfile);
-                $lastfile = $newfile;
-            }
-            elsif (!-e $backend_run_file) {
-                # show special image when backend has terminated
-                $file = $self->app->static->file('images/suse-tested.png');
-                $close = 1;
-            }
-            try {
-                my $data_base64 = b64_encode(path($basepath, $newfile)->slurp, 
'');
-                $self->write("data: data:image/png;base64,$data_base64\n\n", 
$close ? $close_connection : undef);
-            }
-            catch ($e) {
-                # log the error as server-sent events message and close the 
connection
-                # note: This should be good enough for debugging on the 
client-side. The client will re-attempt
-                #       streaming. Avoid logging on the server-side here to 
avoid flooding the log for this
-                #       non-critical problem.
-                chomp $e;
-                $self->write("data: Unable to read image: $e\n\n", 
$close_connection);
-            }
-        });
+    my $send_image = sub (@) {
+        my $newfile = readlink($last_png) || '';
+        return if $lastfile eq $newfile;
+
+        my ($file, $close);
+        if (!-l $newfile || !$lastfile) {
+            $file = path($basepath, $newfile);
+            $lastfile = $newfile;
+        }
+        elsif (!-e $backend_run_file) {
+            # show special image when backend has terminated
+            $file = $self->app->static->file('images/suse-tested.png');
+            $close = 1;
+        }
+        try {
+            my $data_base64 = b64_encode(path($basepath, $newfile)->slurp, '');
+            $self->write("data: data:image/png;base64,$data_base64\n\n", 
$close ? $close_connection : undef);
+        }
+        catch ($e) {
+            # log the error as server-sent events message and close the 
connection
+            # note: This should be good enough for debugging on the 
client-side. The client will re-attempt
+            #       streaming. Avoid logging on the server-side here to avoid 
flooding the log for this
+            #       non-critical problem.
+            chomp $e;
+            $self->write("data: Unable to read image: $e\n\n", 
$close_connection);
+        }
+    };
+
+    $timer_id = Mojo::IOLoop->recurring(IMAGE_STREAMING_INTERVAL() => 
$send_image);
 
     # ask worker to create live stream
     log_debug("Asking the worker $worker_id to start providing livestream for 
job $job_id");
@@ -253,6 +254,10 @@
     );
     my $cb = sub ($error) { $self->write("data: $error\n\n", 
$close_connection) if defined $error };
     _send_livestream_command_to_worker($client, WORKER_COMMAND_LIVELOG_START, 
'start', $worker_id, $job_id, $cb);
+
+    # Try to send the current state immediately without waiting for the timer.
+    # Noop if no image arrived yet.
+    $send_image->();
 }
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/lib/OpenQA/Utils.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/Utils.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/Utils.pm        2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/Utils.pm        2026-06-16 
16:48:36.000000000 +0200
@@ -49,6 +49,7 @@
         poo => 'https://progress.opensuse.org/issues/',
         gh => 'https://github.com/',
         kde => 'https://bugs.kde.org/show_bug.cgi?id=',
+        kdi => 'https://invent.kde.org/',
         fdo => 'https://bugs.freedesktop.org/show_bug.cgi?id=',
         jsc => 'https://jira.suse.com/browse/',
         pio => 'https://pagure.io/',
@@ -66,6 +67,7 @@
         $BUGREFS{poo} => 'poo',
         $BUGREFS{gh} => 'gh',
         $BUGREFS{kde} => 'kde',
+        $BUGREFS{kdi} => 'kdi',
         $BUGREFS{fdo} => 'fdo',
         $BUGREFS{jsc} => 'jsc',
         $BUGREFS{pio} => 'pio',
@@ -441,6 +443,8 @@
     # same page as https://github.com/os-autoinst/openQA/pull/966 and vice
     # versa for both an issue as well as pull request
     # for pagure.io it has to be "issue", not "issues"
+    # gitlab rebranded "issues" to "work_items" in 2026, but so far
+    # they're keeping a redirect so we can still use "issues" for now
     $bugref =~ BUGREF_REGEX or return $bugref;
     my $issuetext = $+{marker} eq 'pio' ? 'issue' : 'issues';
     return $BUGREFS{$+{marker}} . ($+{repo} ? "$+{repo}/$issuetext/" : '') . 
$+{id};
@@ -464,7 +468,8 @@
     # interchangeable, see comment in 'bugurl', too
     # gitlab URLs have an odd /-/ after the repo name, e.g.
     # https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5244
-    $regex = 
qr{(?<!["\(\[])(?<url_root>$regex)((?<repo>.*?)/(-/)?(issues?|pull)/)?(?<id>([A-Z]+-)?\d+)(?![\w])};
+    $regex
+      = 
qr{(?<!["\(\[])(?<url_root>$regex)((?<repo>.*?)/(-/)?(issues?|pull|work_items)/)?(?<id>([A-Z]+-)?\d+)(?![\w])};
     $text =~ s{$regex}{@{[$BUGURLS{$+{url_root}} . ($+{repo} ? '#' . $+{repo} 
: '')]}#$+{id}}gi;
     return $text;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/lib/OpenQA/WebAPI/Controller/Test.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/WebAPI/Controller/Test.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/WebAPI/Controller/Test.pm       
2026-06-04 10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/WebAPI/Controller/Test.pm       
2026-06-16 16:48:36.000000000 +0200
@@ -137,7 +137,7 @@
     state %presets;
     return $presets{$preset_key} if exists $presets{$preset_key};
     $presets{$preset_key} = undef;
-    # read preset from an INI section [test_presets/…] or fallback to defaults 
assigned on setup
+    # read preset from an INI section [test_preset …] or fallback to defaults 
assigned on setup
     my $config = $self->app->config;
     my $ini_key = "test_preset $preset_key";
     my $ini_config = $config->{ini_config};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/lib/OpenQA/WebAPI.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/WebAPI.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/WebAPI.pm       2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/WebAPI.pm       2026-06-16 
16:48:36.000000000 +0200
@@ -28,6 +28,7 @@
 
 # This method will run once at server start
 sub startup ($self) {
+    $self->moniker('openqa_webapi');
 
     # Some plugins are shared between openQA micro services
     push @{$self->plugins->namespaces}, 'OpenQA::Shared::Plugin';
@@ -89,6 +90,7 @@
     # set cookie timeout to 48 hours (will be updated on each request)
     my $app = $self->app;
     $app->sessions->default_expiration(2 * ONE_DAY);
+    $app->sessions->encrypted(1) if $app->sessions->can('encrypted');
 
     # commands
     push @{$self->commands->namespaces}, 'OpenQA::WebAPI::Command';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/lib/OpenQA/WebSockets.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/WebSockets.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/WebSockets.pm   2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/WebSockets.pm   2026-06-16 
16:48:36.000000000 +0200
@@ -16,6 +16,7 @@
 our $RUNNING;
 
 sub startup ($self) {
+    $self->moniker('openqa_websockets');
     OpenQA::WebSockets::Client::mark_current_process_as_websocket_server;
 
     $self->_setup if $RUNNING;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/lib/OpenQA/Worker/App.pm 
new/openQA-5.1781621316.6d025b35/lib/OpenQA/Worker/App.pm
--- old/openQA-5.1780561853.63760953/lib/OpenQA/Worker/App.pm   2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/lib/OpenQA/Worker/App.pm   2026-06-16 
16:48:36.000000000 +0200
@@ -9,6 +9,7 @@
 # This is a mock application, so OpenQA::Setup can be reused to set up logging
 # for the workers
 sub startup ($self) {
+    $self->moniker('openqa_worker_app');
     $self->mode('production');
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/profiles/apparmor.d/usr.share.openqa.script.worker
 
new/openQA-5.1781621316.6d025b35/profiles/apparmor.d/usr.share.openqa.script.worker
--- 
old/openQA-5.1780561853.63760953/profiles/apparmor.d/usr.share.openqa.script.worker
 2026-06-04 10:30:53.000000000 +0200
+++ 
new/openQA-5.1781621316.6d025b35/profiles/apparmor.d/usr.share.openqa.script.worker
 2026-06-16 16:48:36.000000000 +0200
@@ -1,26 +1,25 @@
+# Last Modified: Fri Jun 12 11:54:18 2026
+include <tunables/global>
+
 # Copyright 2015 SUSE LLC
 # SPDX-License-Identifier: GPL-2.0-or-later
-#include <tunables/global>
 
 
-/usr/share/openqa/script/worker {
-  #include <abstractions/X>
-  #include <abstractions/authentication>
-  #include <abstractions/base>
-  #include <abstractions/bash>
-  #include <abstractions/nameservice>
-  #include <abstractions/openssl>
-  #include <abstractions/perl>
-  #include <abstractions/python>
+/usr/share/openqa/script/worker flags=(complain) {
+  include <abstractions/X>
+  include <abstractions/authentication>
+  include <abstractions/base>
+  include <abstractions/bash>
+  include <abstractions/nameservice>
+  include <abstractions/openssl>
+  include <abstractions/perl>
+  include <abstractions/python>
+  include <local/usr.share.openqa.script.worker>
 
   capability sys_ptrace,
 
   network netbeui raw,
 
-  /{usr/,}bin/{b,d}ash rix,
-  /usr/bin/bsdcat rix,
-  /usr/bin/bsdtar rix,
-  /{usr/,}bin/pkill rix,
   /boot/*.fd rk,
   /dev/ r,
   /dev/bus/usb/ r,
@@ -29,7 +28,9 @@
   /dev/net/tun rw,
   /dev/ptmx rw,
   /dev/pts/* rw,
+  /dev/shm/libpod_rootless_lock_* rw,
   /dev/tty rw,
+  /etc/containers/storage.conf r,
   /etc/gitconfig r,
   /etc/libnl/classid r,
   /etc/openqa/client.conf r,
@@ -39,41 +40,26 @@
   /etc/openqa/workers.ini.d/ r,
   /etc/openqa/workers.ini.d/** r,
   /etc/qemu/* r,
+  /etc/shells r,
   /etc/udev/udev.conf r,
   /etc/vde2/vdecmd r,
-  /{usr/,}etc/ssh/ssh_config r,
-  /{usr/,}etc/ssh/ssh_config.d/** r,
-  /etc/containers/storage.conf r,
-  /etc/shells r,
-  /usr/etc/openqa/client.conf r,
-  /usr/etc/openqa/client.conf.d/ r,
-  /usr/etc/openqa/client.conf.d/** r,
-  /usr/etc/openqa/workers.ini r,
-  /usr/etc/openqa/workers.ini.d/ r,
-  /usr/etc/openqa/workers.ini.d/** r,
-  /usr/share/containers/containers.conf r,
-  /usr/bin/conmon rix,
-  /usr/lib/cni/bridge rix,
-  /usr/lib/cni/portmap rix,
-  /usr/lib/cni/tuning rix,
-  /usr/lib/cni/firewall rix,
-  /proc/*/task/*/comm rw,
-  /proc/*/task/*/ns/net r,
-  /dev/shm/libpod_rootless_lock_* rw,
   /proc/*/auxv r,
   /proc/*/cmdline r,
   /proc/*/mountinfo r,
   /proc/*/net/psched r,
   /proc/*/stat r,
   /proc/*/status r,
+  /proc/*/task/*/comm rw,
+  /proc/*/task/*/ns/net r,
   /proc/[0-9]*/cgroup r,
   /proc/filesystems r,
   /proc/loadavg r,
-  /proc/meminfo r,
   /proc/loadavg r,
-  /proc/sys/vm/overcommit_memory r,
+  /proc/meminfo r,
   /proc/sys/fs/pipe-max-size r,
+  /proc/sys/vm/max_map_count r,
   /proc/sys/vm/nr_hugepages r,
+  /proc/sys/vm/overcommit_memory r,
   /run/nscd/group r,
   /run/openqa/vde.ctl/* rw,
   /run/udev/queue.bin r,
@@ -91,43 +77,41 @@
   /sys/module/vt/parameters/default_{red,grn,blu} r,
   /tmp/** rwk,
   /usr/bin/Xvnc rCx,
-  /{usr/,}bin/cat rix,
+  /usr/bin/bsdcat rix,
+  /usr/bin/bsdtar rix,
   /usr/bin/chattr rix,
   /usr/bin/cksum rix,
+  /usr/bin/conmon rix,
   /usr/bin/cp rix,
   /usr/bin/date rix,
   /usr/bin/df rix,
   /usr/bin/dirname rix,
+  /usr/bin/du rix,
   /usr/bin/eatmydata rix,
   /usr/bin/env rix,
+  /usr/bin/ffmpeg rix,
   /usr/bin/find rix,
   /usr/bin/flock rix,
   /usr/bin/fuser rix,
   /usr/bin/git rix,
-  /usr/bin/du rix,
   /usr/bin/git-lfs rix,
-  /{usr/,}bin/grep rix,
-  /usr/bin/gzip rix,
   /usr/bin/gunzip rix,
+  /usr/bin/gzip rix,
   /usr/bin/head rix,
   /usr/bin/hostname rix,
   /usr/bin/icewm{,-default,-lite} cx -> icewm,
   /usr/bin/ionice rix,
   /usr/bin/ipmitool rix,
-  /usr/bin/isotovideo rix,
   /usr/bin/isoinfo rix,
+  /usr/bin/isotovideo rix,
   /usr/bin/jq rix,
   /usr/bin/jsonnet rix,
-  /usr/bin/podman rix,
   /usr/bin/lscpu rCx,
-  /{usr/,}bin/mkdir rix,
-  /{usr/,}bin/mktemp mrix,
   /usr/bin/nice rix,
-  /usr/bin/swtpm rix,
   /usr/bin/optipng rix,
-  /usr/bin/pngquant rix,
   /usr/bin/ping rix,
-  /{usr/,}bin/pwd rix,
+  /usr/bin/pngquant rix,
+  /usr/bin/podman rix,
   /usr/bin/python3.* ix,
   /usr/bin/qemu-img rix,
   /usr/bin/qemu-kvm rix,
@@ -136,10 +120,10 @@
   /usr/bin/rsync rix,
   /usr/bin/sha1sum rix,
   /usr/bin/slirpvde rix,
-  /usr/{bin,lib/os-autoinst}/snd2png rix,
   /usr/bin/ssh rix,
-  /usr/bin/ssh.hmac r,
   /usr/bin/ssh-keygen rix,
+  /usr/bin/ssh.hmac r,
+  /usr/bin/swtpm rix,
   /usr/bin/tail rix,
   /usr/bin/tee rix,
   /usr/bin/tesseract rix,
@@ -147,41 +131,53 @@
   /usr/bin/unixcmd rix,
   /usr/bin/unxz rix,
   /usr/bin/unzip-plain rix,
+  /usr/bin/virt-fw-vars rix,
   /usr/bin/x3270 cx,
   /usr/bin/xterm rix,
   /usr/bin/xterm-console rix,
   /usr/bin/xz rix,
+  /usr/etc/openqa/client.conf r,
+  /usr/etc/openqa/client.conf.d/ r,
+  /usr/etc/openqa/client.conf.d/** r,
+  /usr/etc/openqa/workers.ini r,
+  /usr/etc/openqa/workers.ini.d/ r,
+  /usr/etc/openqa/workers.ini.d/** r,
   /usr/lib*/qemu/block-curl.so rix,
   /usr/lib*/qemu/block-iscsi.so mr,
   /usr/lib*/qemu/block-rbd.so mr,
   /usr/lib*/qemu/block-ssh.so mr,
+  /usr/lib/cni/bridge rix,
+  /usr/lib/cni/firewall rix,
+  /usr/lib/cni/portmap rix,
+  /usr/lib/cni/tuning rix,
+  /usr/lib/os-autoinst/script/check_qemu_oom raCx,
+  /usr/lib/os-autoinst/videoencoder rix,
+  /usr/lib/utempter/utempter rix,
   /usr/lib{,exec}/git{,-core}/git rix,
   /usr/lib{,exec}/git{,-core}/git-remote-http rix,
   /usr/lib{,exec}/git{,-core}/git-remote-https rix,
   /usr/lib{,exec}/git{,-core}/git-write-tree rix,
-  /usr/lib/os-autoinst/videoencoder rix,
-  /usr/lib/os-autoinst/script/check_qemu_oom arCx,
-  /usr/bin/ffmpeg rix,
-  /usr/lib/utempter/utempter rix,
-  /usr/sbin/smbd rix,
   /usr/sbin/ipmiconsole rix,
+  /usr/sbin/smbd rix,
+  /usr/share/containers/containers.conf r,
+  /usr/share/git-core/templates/ r,
+  /usr/share/git-core/templates/** r,
   /usr/share/misc/enterprise-numbers r,
   /usr/share/openqa/lib/** r,
   /usr/share/openqa/lib/DBIx/Class/Timestamps.pm r,
   /usr/share/openqa/lib/OpenQA/** r,
   /usr/share/openqa/script/worker r,
-  /usr/share/git-core/templates/ r,
-  /usr/share/git-core/templates/** r,
-  /usr/share/tessdata/* r,
   /usr/share/qemu/* rk,
-  /usr/share/seabios/* r,
   /usr/share/qemu/keymaps/* r,
+  /usr/share/seabios/* r,
+  /usr/share/tessdata/* r,
   /usr/share/{AA,O}VMF/* rk,
+  /usr/{bin,lib/os-autoinst}/snd2png rix,
   /var/lib/openqa/cache/ r,
   /var/lib/openqa/cache/** rwk,
   /var/lib/openqa/pool/ r,
   /var/lib/openqa/pool/*/ r,
-  /var/lib/openqa/pool/*/** rwkl,
+  /var/lib/openqa/pool/*/** rwlk,
   /var/lib/openqa/pool/*/*/.git/hooks/post-checkout rix,
   /var/lib/openqa/share/* r,
   /var/lib/openqa/share/factory/hdd/ r,
@@ -193,63 +189,54 @@
   /var/lib/openqa/share/factory/tmp/ rw,
   /var/lib/openqa/share/factory/tmp/** rw,
   /var/lib/openqa/share/tests/** r,
+  /{usr/,}bin/cat rix,
+  /{usr/,}bin/grep rix,
+  /{usr/,}bin/mkdir rix,
+  /{usr/,}bin/mktemp mrix,
+  /{usr/,}bin/pkill rix,
+  /{usr/,}bin/pwd rix,
+  /{usr/,}bin/{b,d}ash rix,
+  /{usr/,}etc/ssh/ssh_config r,
+  /{usr/,}etc/ssh/ssh_config.d/** r,
+  owner /proc/**/ r,
   owner /sys/**/ rw,
 
-  profile icewm {
-    #include <abstractions/X>
-    #include <abstractions/base>
-    #include <abstractions/fonts>
-
-    /usr/bin/icewm{,-default,-lite} mr,
-    /etc/icewm/** r,
-    /usr/share/icewm/** r,
-    /var/lib/openqa/pool/*/autoinst-log.txt w,
-
-  }
 
   profile /usr/bin/Xvnc {
-    #include <abstractions/X>
-    #include <abstractions/base>
-    #include <abstractions/consoles>
-    #include <abstractions/fonts>
-    #include <abstractions/nameservice>
+    include <abstractions/X>
+    include <abstractions/base>
+    include <abstractions/consoles>
+    include <abstractions/fonts>
+    include <abstractions/nameservice>
 
-    /{usr/,}bin/bash rix,
     /proc/*/cmdline r,
     /tmp/* rwlk,
     /usr/bin/Xvnc mr,
     /usr/bin/xkbcomp rix,
     /var/lib/openqa/pool/*/autoinst-log.txt w,
+    /{usr/,}bin/bash rix,
 
   }
 
-  profile /usr/lib/os-autoinst/script/check_qemu_oom {
-    #include <abstractions/base>
-    #include <abstractions/perl>
-    /usr/bin/dmesg rix,
-    /dev/kmsg r,
-    /var/lib/openqa/pool/*/autoinst-log.txt w,
-  }
-
   profile /usr/bin/lscpu {
-    #include <abstractions/base>
+    include <abstractions/base>
 
     /proc/ r,
     /proc/** r,
     /sys/devices/** r,
+    /sys/kernel/cpu_byteorder r,
     /usr/bin/lscpu mr,
 
   }
 
   profile /usr/bin/x3270 {
-    #include <abstractions/X>
-    #include <abstractions/base>
-    #include <abstractions/consoles>
-    #include <abstractions/freedesktop.org>
-    #include <abstractions/nameservice>
-    #include <abstractions/openssl>
+    include <abstractions/X>
+    include <abstractions/base>
+    include <abstractions/consoles>
+    include <abstractions/freedesktop.org>
+    include <abstractions/nameservice>
+    include <abstractions/openssl>
 
-    /{usr/,}bin/bash rix,
     /dev/ptmx rw,
     /etc/x3270/ibm_hosts r,
     /proc/*/fd/ r,
@@ -258,6 +245,29 @@
     /usr/bin/x3270 mr,
     /var/lib/openqa/pool/*/x3scr.*.txt w,
     /var/lib/openqa/pool/*/x3trc.* w,
+    /{usr/,}bin/bash rix,
+
+  }
+
+  profile /usr/lib/os-autoinst/script/check_qemu_oom {
+    include <abstractions/base>
+    include <abstractions/perl>
+
+    /dev/kmsg r,
+    /usr/bin/dmesg rix,
+    /var/lib/openqa/pool/*/autoinst-log.txt w,
+
+  }
+
+  profile icewm {
+    include <abstractions/X>
+    include <abstractions/base>
+    include <abstractions/fonts>
+
+    /etc/icewm/** r,
+    /usr/bin/icewm{,-default,-lite} mr,
+    /usr/share/icewm/** r,
+    /var/lib/openqa/pool/*/autoinst-log.txt w,
 
   }
   # Site-specific additions and overrides. See local/README for details.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/t/16-utils.t 
new/openQA-5.1781621316.6d025b35/t/16-utils.t
--- old/openQA-5.1780561853.63760953/t/16-utils.t       2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/t/16-utils.t       2026-06-16 
16:48:36.000000000 +0200
@@ -142,6 +142,8 @@
 is 
href_to_bugref('https://gitlab.com/fedora/sigs/flatpak/fedora-flatpaks/-/issues/26'),
   'gfs#flatpak/fedora-flatpaks#26',
   'Fedora SIGs gitlab url to bugref';
+is 
href_to_bugref('https://invent.kde.org/plasma/systemsettings/-/work_items/49'), 
'kdi#plasma/systemsettings#49',
+  'KDE Invent gitlab url to bugref (with newer "work_items" name)';
 is find_bug_number('yast_roleconf-ntp-servers-empty-bsc1114818-20181115.png'), 
'bsc1114818',
   'find the bug number from the needle name';
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/t/api/02-iso.t 
new/openQA-5.1781621316.6d025b35/t/api/02-iso.t
--- old/openQA-5.1780561853.63760953/t/api/02-iso.t     2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/t/api/02-iso.t     2026-06-16 
16:48:36.000000000 +0200
@@ -1098,27 +1098,50 @@
     $schema->txn_rollback;
 };
 
-my %prod_params = (distri => 'opensuse', version => '*', flavor => 'DVD', arch 
=> 'i586', name => 'generic');
-my $product = $products->create(\%prod_params);
-my $job_template = $job_templates->create({@job_template_params, product_id => 
$product->id});
+my @prod_params = (distri => 'opensuse', flavor => 'DVD', arch => 'i586', name 
=> 'generic');
 
-subtest 'fallback to version "*"' => sub {
-    my $res = schedule_iso($t, {%iso, VERSION => 'foobar', _GROUP => 'opensuse 
test'});
-    my $scheduled_product = 
$scheduled_products->find($res->json->{scheduled_product_id});
-    my $results = $scheduled_product->results;
-    is @{$results->{successful_job_ids}}, 1, 'job successfully scheduled';
-    is $results->{notes}->[0], 'no products found for version "foobar", 
falling back to "*"', 'note present'
-      or always_explain $results;
+sub create_product_and_schedule_iso (
+    $product_version, $scheduling_version,
+    $job_template_params = undef,
+    $scheduling_params = undef
+  )
+{
+    my $product = $products->create({@prod_params, version => 
$product_version});
+    $job_templates->create({@$job_template_params, product_id => 
$product->id}) if $job_template_params;
+    my $scheduling_settings = {%iso, VERSION => $scheduling_version, _GROUP => 
'opensuse test'};
+    my $res = schedule_iso($t, $scheduling_settings, $scheduling_params ? 
@$scheduling_params : ());
+    return 
$scheduled_products->find($res->json->{scheduled_product_id})->results;
+}
+
+subtest 'version matching with "*"' => sub {
+    subtest 'globbing used at the end for "starts with" matching' => sub {
+        $schema->txn_begin;
+        my $res = create_product_and_schedule_iso('15.7:PR-*', '15.7:PR-0815', 
\@job_template_params);
+        like $res->{notes}->[0], qr/no products.*"15\.7:PR-0815".*globbing/, 
'note present' or always_explain $res;
+        is @{$res->{successful_job_ids}}, 1, 'job successfully scheduled' or 
return;
+        ok my $job = $jobs->find($res->{successful_job_ids}->[0]), 'job 
created' or return;
+        is $job->VERSION, '15.7:PR-0815', 'job scheduled with full version';
+        $schema->txn_rollback;
+    };
+    subtest 'a single "*" can be used to match all versions' => sub {
+        $schema->txn_begin;
+        my $res = create_product_and_schedule_iso('*', 'foobar', 
\@job_template_params);
+        is @{$res->{successful_job_ids}}, 1, 'job successfully scheduled';
+        like $res->{notes}->[0], qr/no products.*"foobar".*globbing/, 'note 
present' or always_explain $res;
+        is $res->{notes}->[0], 'no products found for version "foobar", 
considering globbing via "*"', 'note present'
+          or always_explain $res;
+        $schema->txn_rollback;
+    };
 };
 
 subtest 'no templates found for product' => sub {
-    $job_template->delete;    # assume no job template exists
-    my $res = schedule_iso($t, {%iso, VERSION => 'foobar', _GROUP => 'opensuse 
test'}, 404);
-    my $scheduled_product = 
$scheduled_products->find($res->json->{scheduled_product_id});
-    my $results = $scheduled_product->results;
-    is @{$results->{successful_job_ids}}, 0, 'no jobs scheduled';
-    is $results->{error}, 'no templates found for product 
opensuse-*-DVD-i586', 'error contains considered product'
-      or always_explain $results;
+    $schema->txn_begin;
+    my $res = create_product_and_schedule_iso('*', 'foobar', undef, [404]);
+    is @{$res->{successful_job_ids}}, 0, 'no jobs scheduled';
+    is $res->{notes}, undef, 'no notes present';
+    like $res->{error}, qr/no templates.*opensuse-\*-DVD-i586/, 'error 
contains considered product'
+      or always_explain $res;
+    $schema->txn_rollback;
 };
 
 done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/t/ui/16-tests_dependencies.t 
new/openQA-5.1781621316.6d025b35/t/ui/16-tests_dependencies.t
--- old/openQA-5.1780561853.63760953/t/ui/16-tests_dependencies.t       
2026-06-04 10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/t/ui/16-tests_dependencies.t       
2026-06-16 16:48:36.000000000 +0200
@@ -19,6 +19,18 @@
 use OpenQA::Jobs::Constants;
 use OpenQA::WebAPI::Controller::Test;
 
+my $test_case = OpenQA::Test::Case->new;
+my $schema_name = OpenQA::Test::Database::generate_schema_name;
+my $schema = $test_case->init_data(
+    schema_name => $schema_name,
+    fixtures_glob => '01-jobs.pl 05-job_modules.pl 06-job_dependencies.pl'
+);
+
+my $jobs = $schema->resultset('Jobs');
+my $dependencies = $schema->resultset('JobDependencies');
+
+driver_missing unless my $driver = call_driver;
+
 subtest 'detailed behavior of merging parallel jobs into clusters' => sub {
     my (%clusters, %cluster_by_job);
     my %data = (cluster => \%clusters, cluster_by_job => \%cluster_by_job);
@@ -48,16 +60,6 @@
     is_deeply \%cluster_by_job, {map { $_ => 'cluster_2' } 1 .. 6}, 'all jobs 
in one cluster after merge';
 };
 
-my $test_case = OpenQA::Test::Case->new;
-my $schema_name = OpenQA::Test::Database::generate_schema_name;
-my $schema = $test_case->init_data(
-    schema_name => $schema_name,
-    fixtures_glob => '01-jobs.pl 05-job_modules.pl 06-job_dependencies.pl'
-);
-
-my $jobs = $schema->resultset('Jobs');
-my $dependencies = $schema->resultset('JobDependencies');
-
 # make doc job a clone of the textmode job
 my $doc_job_id = 99938;
 my $textmode_job = $jobs->find(99945);
@@ -79,7 +81,6 @@
 $dependencies->create({child_job_id => 99927, parent_job_id => 99961, 
dependency => DIRECTLY_CHAINED});
 
 my $t = Test::Mojo->new('OpenQA::WebAPI');
-driver_missing unless my $driver = call_driver;
 
 sub get_tooltip ($job_id) {
     $driver->execute_script("return 
\$('#nodeTable$job_id').closest('.node').data('bs-original-title');");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/t/ui/29-create_tests.t 
new/openQA-5.1781621316.6d025b35/t/ui/29-create_tests.t
--- old/openQA-5.1780561853.63760953/t/ui/29-create_tests.t     2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/t/ui/29-create_tests.t     2026-06-16 
16:48:36.000000000 +0200
@@ -40,9 +40,12 @@
         'create-tests-build' => 'openqa',
         'create-tests-test' => 'simple_boot',
         'create-tests-casedir' => 
'https://github.com/os-autoinst/os-autoinst-distri-example.git',
-        'create-tests-needlesdir' => '',
+        'create-tests-needlesdir' => '%%CASEDIR%%/needles',
     );
     is element_prop($_), $expected_values{$_}, "$_ is pre-filled" for keys 
%expected_values;
+    my $get_settings = "return 
document.querySelector('#create-tests-settings-container pre').innerText";
+    like $driver->execute_script($get_settings), qr/PRODUCTDIR=\./, 'settings 
pre-filled';
+
 };
 
 subtest 'form can be submitted' => sub {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openQA-5.1780561853.63760953/templates/webapi/test/create.html.ep 
new/openQA-5.1781621316.6d025b35/templates/webapi/test/create.html.ep
--- old/openQA-5.1780561853.63760953/templates/webapi/test/create.html.ep       
2026-06-04 10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/templates/webapi/test/create.html.ep       
2026-06-16 16:48:36.000000000 +0200
@@ -63,7 +63,7 @@
       <%= help_popover('Test repository' => '<p>Specifies additional settings 
as newline-separated <code>KEY=value</code>-pairs that will be assigned to each 
job. ' .
         'Some settings also influence the job creation itself, e.g. 
<code>_OBSOLETE</code>.</p>',
         
'https://open.qa/docs/#spawning-multiple-jobs-based-on-templates---isos-post', 
'the documentation', 'left') %>
-      <textarea class="form-control key-value-pairs" 
id="create-tests-settings" rows="15"></textarea>
+      <textarea class="form-control key-value-pairs" 
id="create-tests-settings" rows="15"><%= $preset->{settings} // '' %></textarea>
     </div>
     <div class="col-md-6">
       <label for="create-tests-scenario-definitions" 
class="form-label"><strong>Scenario definitions</strong></label>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openQA-5.1780561853.63760953/tools/ci/autoinst.sha 
new/openQA-5.1781621316.6d025b35/tools/ci/autoinst.sha
--- old/openQA-5.1780561853.63760953/tools/ci/autoinst.sha      2026-06-04 
10:30:53.000000000 +0200
+++ new/openQA-5.1781621316.6d025b35/tools/ci/autoinst.sha      2026-06-16 
16:48:36.000000000 +0200
@@ -1 +1 @@
-7bacdcdf9182b4956ff82cb57efe9c0a9774cc7f
\ No newline at end of file
+f2147fa66cb9bb318a482e8ef855a1ea2d73f2a0
\ No newline at end of file

++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.HPATS7/_old  2026-06-17 16:20:29.684524109 +0200
+++ /var/tmp/diff_new_pack.HPATS7/_new  2026-06-17 16:20:29.692524444 +0200
@@ -1,5 +1,5 @@
 name: openQA
-version: 5.1780561853.63760953
-mtime: 1780561853
-commit: 637609536026a0950adf5d3aa30b54f16c73e178
+version: 5.1781621316.6d025b35
+mtime: 1781621316
+commit: 6d025b359e32990634ae363427a655a3e0fa6a5d
 

Reply via email to