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-05-27 16:15:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openQA (Old) and /work/SRC/openSUSE:Factory/.openQA.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA" Wed May 27 16:15:11 2026 rev:848 rq:1355232 version:5.1779808735.8c9bd805 Changes: -------- --- /work/SRC/openSUSE:Factory/openQA/openQA.changes 2026-05-09 13:00:31.790850029 +0200 +++ /work/SRC/openSUSE:Factory/.openQA.new.1937/openQA.changes 2026-05-27 16:16:06.838833469 +0200 @@ -1,0 +2,116 @@ +Tue May 26 15:19:07 UTC 2026 - [email protected] + +- Update to version 5.1779808735.8c9bd805: + * docs: Fix link to "Conducting tests" section + * refactor: Use Feature::Compat::Try consistently + * ci: Build packages for SLE 15 SP7 instead of SP6 which reached EOL + * ci: Remove package builds for Leap 15.6 as it reached EOL + * fix: make TESTS selection work again (regression from cd76f31f3) + * feat: add Nginx proxy template for local LLM load balancing + * feat: add openQA-llm-server sub-package for local LLM support + * feat(pyproject): Streamline summary with spec file + * fix: Fix wording in summary of rpm package + * feat: Apply formatting of Python code also to documentation snippets + * feat: Change `openqa-label-all` to satisfy ruff checks + * test: Add target to run format Python code + * test: Add targets to run static Python checks + * feat: Add `pyproject.toml` as in other repositories + * feat(needle-editor): Validate that there is at least one match area + * docs: Reference "Asset handling" section directly + * fix: Fix some wrong uses of "check out" + * docs: Fix broken references in further places + * docs: Fix wrapping in section about importing production data + * docs: Fix broken references in several documentation files + * test(isos post): Assert behavior when specifying parameters twice + * refactor(isos post): Use `$validation` consistently + * fix(spec): add RPM Group tag to all subpackages + * style: Include core perlcritic rules as well + * fix: resolve 'Too many open files' by clearing AssetPack FD cache + * fix: work around DBD::Pg bug regarding INSERT ON CONFLICT row count + * refactor: Remove superfluous Test::MockModule instance + * refactor: Use a hash instead of string eval + * refactor: Use Syntax::Keyword::Try instead of eval + * style: Enforce perlcritic policies regarding eval + * fix: allow worker to start without API keys + * refactor: Split scheduler tests to avoid failing complexity check + * feat: Distinguish parallel jobs in info when cluster cannot be assigned + * fix: Reword misleading message about "incomplete parallel cluster" + * fix(docs): remove zero-length draw.io marker file + * fix(branding): add placeholder content to empty sponsorbox template + * test: fix "Too many open files" in t/api/03-auth.t + * fix: fix security vulnerability in Auth::check and minor typo + * test: fix hmac_sha1_sum calculation in auth tests + * docs: fix typo in Auth controller + * refactor: use DEFAULT_ADMIN constant for admin username + * feat: switch bootstrap to 'None' authentication provider + * fix(packaging): avoid repeating package name in Summary + * fix(packaging): replace obsolete packageand() with boolean Supplements + * fix(build): install openqa-cli.yaml without executable bit + * style: Enforce perlcritic policy Community::EmptyReturn + * ci: Remove `perl-TAP-Harness-JUnit` from devel container again + * ci: Use distinct container introduced by f33029623 + * chore: Use `https://download.opensuse.org` consistently + * feat(worker): Pass reason to web UI when skipping job due to self-check + * feat(worker): Prevent skipping directly chained jobs due to self-checks + * fix(build): add executable bit to dbicdh migration scripts + * refactor: Remove @EXPORT and add %EXPORT_TAGS + * refactor: Move @EXPORT to @EXPORT_OK + * refactor: Remove unused var @EXPORT + * style: Add no critic + * style: Enforce perlcritic policy ProhibitAutomaticExportation + * refactor: Remove non-existing functions from export list + * feat: Require Perl::Critic >= 1.156.0 + * style: Enforce perlcritic policy Subroutines::ProhibitManyArgs + * feat: support configurable secrets hiding in UI and API + * chore(deps): Dependency cron 2026-05-16 + * chore(deps): Dependency cron 2026-05-15 + * chore(deps): Dependency cron 2026-05-14 + * refactor(create_admin): switch to Getopt::Long::Descriptive + * style: Enforce perlcritic policy BuiltinFunctions::ProhibitUniversalIsa + * test: Prevent unhandled output after b278ab6dfd3 + * style: Enforce perlcritic policy regarding open() + * ci: Add distinct container image for CI + * style: Enforce perlcritic policy Subroutines::ProhibitReturnSort + * style: Enforce perlcritic policy ProhibitReadlineInForLoop + * style: Enforce perlcritic policy Community::POSIXImports + * style: Enforce perlcritic policy ClassHierarchies::ProhibitOneArgBless + * chore(deps): Dependency cron 2026-05-13 + * fix: parse URL-derived settings for cloned jobs + * style: Enforce perlcritic policy TestingAndDebugging::ProhibitNoWarnings + * ci(dependabot): apply deps update cooldown to prevent PR fatigue + * refactor: Improve global variables in SeleniumTest + * style: Enforce perlcritic policy Variables::ProhibitPackageVars + * style: Enforce perlcritic policy Community::ConditionalImplicitReturn + * test: Add `python3-ruff` for static checks of Python scripts + * style: Enforce perlcritic policy CodeLayout::ProhibitHardTabs + * test(worker-engine): Cover all lines of `set_engine_exec` + * chore(ci): Avoid running into authenticity error + * chore(ci): Allow running caching jobs in parallel + * chore(ci): Log installed rpm packages after removing explicit tracking + * chore(ci): Simplify CI runtime using devel container image + * chore(Makefile): Avoid depending on the `which` utility + * fix(apparmor): allow /usr/bin/getopt needed for os-autoinst-scripts + * style: Enforce perlcritic policy ProhibitConditionalUseStatements + * style: Enforce perlcritic policy Subroutines::ProhibitExcessComplexity + * style: enforce perlcritic policy ProhibitCascadingIfElse + * perf(cleanup): replace N+1 per-group queries with single batch query + * style: Enforce perlcritic ProhibitQuotesAsQuotelikeOperatorDelimiters + * style: Enforce perlcritic policy RequirePackageMatchesPodName + * style: Enforce perlcritic policy BuiltinFunctions::ProhibitUselessTopic + * feat(api): filter job statistics by group globs + * test: stabilize test_containers_compose + * test: use IfNotPresent pull policy for postgres init container + * fix(tools): handle pandoc TeX math misinterpretation in API docs + * fix(docs): link to the correct cleanup section + * style: Enforce perlcritic policy Miscellanea::ProhibitUselessNoCritic + * style: Rewrite some for loops in foreach style + * style: Enforce erlcritic policy Modules::ProhibitExcessMainComplexity + * feat(cli): generate shell completions from openqa-cli.yaml + * fix(test overview): Bring query for "Aborted" in-line with accounting + * chore(deps): Dependency cron 2026-05-11 + * ci: fix "conflicts with file" problems + * fix: update fast-uri to address security vulnerabilities (boo#1264376) + * docs: Fix wrapping in users guide after Markdown conversion + * feat: add scheduling skip reasons to the webUI + +------------------------------------------------------------------- Old: ---- openQA-5.1778257070.d9915684.obscpio New: ---- openQA-5.1779808735.8c9bd805.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openQA-client-test.spec ++++++ --- /var/tmp/diff_new_pack.gHc17s/_old 2026-05-27 16:16:08.790913081 +0200 +++ /var/tmp/diff_new_pack.gHc17s/_new 2026-05-27 16:16:08.794913244 +0200 @@ -18,7 +18,7 @@ %define short_name openQA-client Name: %{short_name}-test -Version: 5.1778257070.d9915684 +Version: 5.1779808735.8c9bd805 Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ openQA-devel-test.spec ++++++ --- /var/tmp/diff_new_pack.gHc17s/_old 2026-05-27 16:16:08.826914549 +0200 +++ /var/tmp/diff_new_pack.gHc17s/_new 2026-05-27 16:16:08.830914712 +0200 @@ -18,7 +18,7 @@ %define short_name openQA-devel Name: %{short_name}-test -Version: 5.1778257070.d9915684 +Version: 5.1779808735.8c9bd805 Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ openQA-test.spec ++++++ --- /var/tmp/diff_new_pack.gHc17s/_old 2026-05-27 16:16:08.874916507 +0200 +++ /var/tmp/diff_new_pack.gHc17s/_new 2026-05-27 16:16:08.878916670 +0200 @@ -18,7 +18,7 @@ %define short_name openQA Name: %{short_name}-test -Version: 5.1778257070.d9915684 +Version: 5.1779808735.8c9bd805 Release: 0 Summary: Test package for openQA License: GPL-2.0-or-later ++++++ openQA-worker-test.spec ++++++ --- /var/tmp/diff_new_pack.gHc17s/_old 2026-05-27 16:16:08.922918465 +0200 +++ /var/tmp/diff_new_pack.gHc17s/_new 2026-05-27 16:16:08.926918627 +0200 @@ -18,7 +18,7 @@ %define short_name openQA-worker Name: %{short_name}-test -Version: 5.1778257070.d9915684 +Version: 5.1779808735.8c9bd805 Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ openQA.spec ++++++ --- /var/tmp/diff_new_pack.gHc17s/_old 2026-05-27 16:16:08.970920423 +0200 +++ /var/tmp/diff_new_pack.gHc17s/_new 2026-05-27 16:16:08.974920586 +0200 @@ -95,7 +95,7 @@ %define qemu qemu %endif # The following line is generated from dependencies.yaml -%define style_check_requires ShellCheck perl(Code::TidyAll) perl(Perl::Critic) perl(Perl::Critic::Community) perl(Pod::Markdown) perl(Test::Perl::Critic) python3-gitlint python3-yamllint shfmt +%define style_check_requires ShellCheck perl(Code::TidyAll) perl(Perl::Critic) >= 1.156.0 perl(Perl::Critic::Community) perl(Pod::Markdown) perl(Test::Perl::Critic) python3-gitlint python3-ruff python3-yamllint shfmt # The following line is generated from dependencies.yaml %define cover_requires perl(Devel::Cover) perl(Devel::Cover::Report::Codecovbash) # The following line is generated from dependencies.yaml @@ -104,9 +104,10 @@ %define devel_requires %devel_no_selenium_requires chromedriver Name: openQA -Version: 5.1778257070.d9915684 +Version: 5.1779808735.8c9bd805 Release: 0 -Summary: The openQA web-frontend, scheduler and tools +Summary: Framework for automated system-level testing (web-frontend, scheduler and tools) +Group: Development/Tools/Other License: GPL-2.0-or-later Url: http://os-autoinst.github.io/openQA/ Source0: %{name}-%{version}.tar.xz @@ -200,6 +201,7 @@ %package worker Summary: The openQA worker +Group: Development/Tools/Other %define worker_requires_including_uncovered_in_tests %worker_requires perl(SQL::SplitStatement) Requires: %{worker_requires_including_uncovered_in_tests} # FIXME: use proper Requires(pre/post/preun/...) @@ -223,6 +225,7 @@ %package mcp Summary: Additional MCP package for AI support in openQA +Group: Development/Tools/Other Requires: %{mcp_requires} %description mcp @@ -230,6 +233,7 @@ %package client Summary: Client tools for remote openQA management +Group: Development/Tools/Other Requires: openQA-common = %{version} Requires: %client_requires @@ -240,6 +244,7 @@ %if %{with python_scripts} %package python-scripts Summary: Additional scripts in python +Group: Development/Tools/Other Requires: %python_scripts_requires %description python-scripts @@ -248,10 +253,11 @@ %package local-db Summary: Helper package to ease setup of postgresql DB +Group: Development/Tools/Other Requires: %{name} = %{version} Requires: postgresql-server BuildRequires: postgresql-server -Supplements: packageand(%name:postgresql-server) +Supplements: (%{name} and postgresql-server) %description local-db You only need this package if you have a local postgresql server @@ -259,6 +265,7 @@ %package single-instance Summary: Convenience package for a single-instance setup using apache proxy +Group: Development/Tools/Other Provides: %{name}-single-instance-apache Provides: %{name}-single-instance-apache2 Requires: %{name}-local-db @@ -271,6 +278,7 @@ %package single-instance-nginx Summary: Convenience package for a single-instance setup using nginx proxy +Group: Development/Tools/Other Requires: %{name}-local-db Requires: %{name} = %{version} Requires: %{name}-worker = %{version} @@ -281,6 +289,7 @@ %package bootstrap Summary: Automated openQA setup +Group: Development/Tools/Other Requires: curl Requires: iputils Requires: procps @@ -291,6 +300,7 @@ %package doc Summary: The openQA documentation +Group: Development/Tools/Other %description doc Documentation material covering installation, configuration, basic test writing, etc. @@ -298,6 +308,7 @@ %package auto-update Summary: Automatically upgrade and reboot the system when required +Group: Development/Tools/Other Requires: %{name}-common Requires: curl Requires: rebootmgr @@ -308,6 +319,7 @@ %package continuous-update Summary: Continuously update packages from devel:openQA +Group: Development/Tools/Other Requires: %{name}-common Requires: curl @@ -320,6 +332,7 @@ %if %{with munin_package} %package munin Summary: Munin scripts +Group: Development/Tools/Other Requires: munin Requires: munin-node Requires: curl @@ -330,6 +343,32 @@ statistics. %endif +%package client-bash-completion +Summary: Bash Completion for %{name} +Group: Development/Tools/Other +Requires: bash-completion +Supplements: (%{name}-client and bash) + +%description client-bash-completion +The official bash completion script for openqa-cli. + +%package client-zsh-completion +Summary: Zsh Completion for %{name} +Group: Development/Tools/Other +Supplements: (%{name}-client and zsh) + +%description client-zsh-completion +The official zsh completion script for openqa-cli. + +%package llm-server +Summary: Local LLM Server features for openQA workers +Requires: %{name}-worker = %{version} +Requires: podman + +%description llm-server +openQA workers can optionally host a local llama.cpp server to provide +LLM features directly from the worker node. This package provides the +Podman Quadlet configuration to automatically manage the server. %prep %setup -q @@ -415,7 +454,7 @@ %endif install -d -m 755 %{buildroot}%{_datadir}/openqa/client -install -m 755 public/openqa-cli.yaml %{buildroot}%{_datadir}/openqa/client/openqa-cli.yaml +install -m 644 public/openqa-cli.yaml %{buildroot}%{_datadir}/openqa/client/openqa-cli.yaml # munin %if %{with munin_package} @@ -577,6 +616,17 @@ %postun local-db %service_del_postun %{openqa_localdb_services} +%post llm-server +# ensure the Podman Quadlet generator is run to create the .service unit +[ -x /usr/bin/systemctl ] && /usr/bin/systemctl daemon-reload || : +%service_add_post openqa-llm-server.service + +%preun llm-server +%service_del_preun openqa-llm-server.service + +%postun llm-server +%service_del_postun openqa-llm-server.service + %files %doc README.md %{_sbindir}/rcopenqa-gru @@ -603,6 +653,7 @@ %dir %{_sysconfdir}/nginx %dir %{_sysconfdir}/nginx/vhosts.d %config %{_sysconfdir}/nginx/vhosts.d/openqa.conf.template +%config %{_sysconfdir}/nginx/vhosts.d/openqa-llm.conf.template %config(noreplace) %{_sysconfdir}/nginx/vhosts.d/openqa-assets.inc %config(noreplace) %{_sysconfdir}/nginx/vhosts.d/openqa-endpoints.inc %config(noreplace) %{_sysconfdir}/nginx/vhosts.d/openqa-locations.inc @@ -700,6 +751,12 @@ %files devel %endif +%files client-bash-completion +%{_datadir}/bash-completion/completions/openqa-cli + +%files client-zsh-completion +%{_datadir}/zsh/site-functions/_openqa-cli + %files common %if 0%{?suse_version} < 1550 %endif @@ -868,3 +925,8 @@ %files mcp %{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/MCP.pm +%files llm-server +%dir %{_datadir}/containers +%dir %{_datadir}/containers/systemd +%{_datadir}/containers/systemd/openqa-llm-server.container + ++++++ node_modules.obscpio ++++++ Binary files old/fast-uri-3.1.0.tgz and new/fast-uri-3.1.0.tgz differ Binary files old/fast-uri-3.1.2.tgz and new/fast-uri-3.1.2.tgz differ ++++++ node_modules.spec.inc ++++++ --- /var/tmp/diff_new_pack.gHc17s/_old 2026-05-27 16:16:10.242972301 +0200 +++ /var/tmp/diff_new_pack.gHc17s/_new 2026-05-27 16:16:10.246972464 +0200 @@ -119,7 +119,7 @@ Source1118: https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz#/fast-glob-3.3.3.tgz Source1119: https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#/fast-json-stable-stringify-2.1.0.tgz Source1120: https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#/fast-levenshtein-2.0.6.tgz -Source1121: https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz#/fast-uri-3.1.0.tgz +Source1121: https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz#/fast-uri-3.1.2.tgz Source1122: https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#/fastest-levenshtein-1.0.16.tgz Source1123: https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz#/fastq-1.20.1.tgz Source1124: https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.2.tgz#/file-entry-cache-11.1.2.tgz ++++++ openQA-5.1778257070.d9915684.obscpio -> openQA-5.1779808735.8c9bd805.obscpio ++++++ ++++ 6457 lines of diff (skipped) ++++++ openQA.obsinfo ++++++ --- /var/tmp/diff_new_pack.gHc17s/_old 2026-05-27 16:16:32.059862063 +0200 +++ /var/tmp/diff_new_pack.gHc17s/_new 2026-05-27 16:16:32.075862716 +0200 @@ -1,5 +1,5 @@ name: openQA -version: 5.1778257070.d9915684 -mtime: 1778257070 -commit: d9915684e651febd9a80aea964d0fc34b8cfda98 +version: 5.1779808735.8c9bd805 +mtime: 1779808735 +commit: 8c9bd8052f65195f587f27fb5bee6b5111c2ef05
