openSUSE_Backports_SLE-16.0_PullRequest_669__patchinfo.20260409074253903619.187004354831441 Recommended update for os-autoinst, openQA-devel-container, openQA moderate openSUSE Backports SLE-16.0 PullRequest 669 This update for os-autoinst, openQA-devel-container, openQA fixes the following issues: Changes in os-autoinst: Update to version 5.1775053765.0f55e29: * fix(xt): exclude build artifacts from Perl::Critic checks * style: Call builtin functions without parentheses * style: Ignore files under external/ in perlcritic * style: Sort files for perlcritic * style: Add CodeLayout::ProhibitParensWithBuiltins * style: Turn .perlcritic into real file instead of symlink * test: skip t/ files in Test::Compile syntax check * test: replace Test::Strict with Test::Compile for faster syntax checks * refactor: Deduplicate svirt tests in t/22-svirt.t Changes in openQA: Update to version 5.1775115436.d37d45f6: * feat: Show possible candidates for working directory in error message * test: Cover `t/44-scripts-create_admin.t` * test: refactor dynamic limit tests to use table-driven approach * fix(create_admin): Fix order of arguments in help text * refactor(js): fix lint errors in needlediff.js * fix(js): disable no-unassigned-vars in ESLint config * build(deps-dev): upgrade ESLint to 10.1.0 and add missing peer deps * build(deps-dev): bump eslint from 9.39.2 to 10.0.0 * fix(deps): bump brace-expansion from 5.0.3 to 5.0.4 * fix: avoid redundant commas in job group summary list * fix: avoid redundant commas in job group summary list * feat: show priority calculation tooltip on job details page * feat: allow custom badge labels via query parameter * feat: refine priority adjustment messages for clarity * feat: visualize priority calculation in web UI * feat: increase priority based on job group properties * build(deps-dev): bump prettier from 3.6.2 to 3.8.1 * build(deps): bump anser from 2.3.2 to 2.3.5 * chore(profiles): allow web UI to read loadavg * feat: Reduce level of "Failed … command" log message further * test(clone-job): Improve checks of transaction handling * fix(clone-job): Prevent duplicate jobs after d813ac3655 * fix(clone-job): Restore compatibility with older curl versions * test: Debug `t/ui/27-plugin_obs_rsync_status_details.t` * fix: cancel job icon invisible in tests list * feat(ui): indicate number of previous job restarts in all lists * refactor(t): use proper subtests and test labels in 10-tests_overview * feat: Limit list of job groups in summary header box * feat: Filter job groups in tests overview by availability of results * chore(deps): Dependency cron 2026-03-31 * refactor(assets): remove deprecated KeyEvent usage * docs: relocate scheduler and worker load documentation * feat: dynamically adjust global job limit based on system load * feat: Customizable time_limit_days * fix: arrow navigation not working in Chrome-based browsers * style: Remove various magic numbers * fix: ensure cache sync creates parent directory * feat: Improve log message when sending command to ws server fails * refactor: Use `any` instead of `grep` in worker schema * refactor: Avoid repeated access to `$args{command}` in worker schema * fix(clone-job): Restore authorized asset downloads after 06bc5193d25b * fix: restore broken label and flag icons in comments * style: Fix TestingAndDebugging::RequireUseStrict violations * style: Fix TestingAndDebugging::ProhibitNoStrict violations * style: Fix BuiltinFunctions::RequireBlockMap violations * style: Use only positive conditions for unless * style: Fix OpenQA::RedundantStrictWarning violations * style: Fix BuiltinFunctions::ProhibitStringySplit violations * style: Fix ProhibitInterpolationOfLiterals violations * style: Fix CodeLayout::ProhibitParensWithBuiltins violations * style: Run perlcritic also for t/ * feat: support parallel Perl tests with PROVE_JOBS in Makefile * chore(deps): Dependency cron 2026-03-28 * fix(ui): Prevent build tag labels from rendering in all caps * feat: complete shim-less migration to Font Awesome 6 * feat: replace Test::Strict with Test::Compile in compilation check * chore: Add dependency for extending `t/11-commands.t` * chore: Reduce permissions of workflows * feat: support "always_run" test flag in web UI and API * feat(Makefile): enable heavy and fullstack tests by default locally * feat: Retry API calls in `clone-job` like already `openqa-cli` does * feat: migrate to timeago.js for proper jquery4 compatibility * feat(clone-job): Retry asset downloads on transient errors * feat(scheduler): provide visual indication of limited disk space * feat(scheduler): provide visual indication of limited disk space * feat(scheduler): prevent openQA depleting storage with new openQA jobs * chore(deps): bump picomatch from 2.3.1 to 2.3.2 * refactor(tests): consolidate page loads in 01-list.t * Revert "refactor: Replace jQuery-dependent timeago with vanilla timeago.js" * docs(userguide): fix position of job_templates unique id * docs(amqp): cover usage examples of amqp and slack integration * feat: Allow resuming asset downloads with `openqa-clone-job` * feat: migrate to timeago.js for proper jquery4 compatibility * feat: replace deprecated fork-awesome with Font Awesome 6 Free * style: Exclude external/ directory from 01-style.t checks * style: Fix various perlcritic violations in script/ * git subrepo pull (merge) external/os-autoinst-common * fix(influxdb): prevent empty tags populated to telegraf * test: Add Test::Perl::Critic * feat(MCP): Add MCP tool annotations * test: Consider everything under `lib/openQA/` covered * refactor: Avoid duplicate code for making test suite name unique * test: Consider everything under `lib/OpenQA/Scheduler/` covered * test: Cover handling missing response from ws server when assigning jobs * test: Cover assigning multiple jobs to worker * refactor: Extract functions to assign jobs in scheduler code * refactor: Remove probably useless error handling in scheduler code * test: Cover all cases of sorting criteria in scheduler * test: Consider everything under `lib/OpenQA/Resource/` covered * test: Cover remaining uncovered lines in `OpenQA::Resource::Locks` * refactor: Simplify `unlock` function to be in-line with `lock` * test: Cover restarting jobs with no job IDs specified * style: Use ProhibitNegativeExpressionsInUnlessAndUntilConditions * chore(deps): Dependency cron 2026-03-24 * chore: migrate remaining ESLint settings from legacy to flat config * style: migrate all JavaScript consistently from var to let/const * chore(ci): bump javascript check to node 22 * refactor: slightly simplify BuildResults * chore(AGENTS.md): add customized file * refactor: deduplicate configuration defaults and verify openqa.ini * fix(ci): fix referencing commit-message-checker * style: Add Test::Perl::Critic dependency * docs: document "always_run" test flag * build(deps-dev): bump flatted from 3.4.1 to 3.4.2 * feat(Makefile): add help text for missing targets * fix: prevent intermittent failure in t/ui/13-admin.t * fix: remove fixed container sizing in needlediff view * test: Fix unstable test for stacking of parallel tests on overview page * fix(investigation): select casedir/needledir correctly when no symlink * docs: Link to latest passed job to ensure the download tab exists * feat: allow filtering by job result and state in /tests/latest * feat: add privacy policy * feat: adapt to os-autoinst switching to markdown * feat: optimize size of devel:openQA:ci/base container * feat: allow users to delete/anonymize their own account * feat: support show_build=1 for overview badges * fix(npm): bump to non-vulerable versions (boo#1259005, boo#1258632) * docs(image): describe the TW image with openQA available in o3 * feat(openqa-upstreams.inc): set `max_conns` to max connection handled * refactor: optimize and harden aggregate overview badges implementation * refactor: improve aggregate overview badges implementation * test: consolidate SVG badge unit tests * feat: implement test result badges for aggregate overview queries * fix: update ajv to fix moderate severity ReDoS vulnerability * fix: update minimatch override to fix high severity ReDoS vulnerability * openqa-load-templates: Slightly simplify * refactor(test/overview): use signatures and clean up code * refactor(test/overview): reduce duplication * feat: Improve default `PRODUCTDIR` after ef229dc2 * fix(43-scheduling-and-worker-scalability): prevent sporadic issues * refactor: use join for properties in determine_free_workers * fix: do not cache websocket_api_version if not set * refactor(investigation): Use TEST_GIT_URL and NEEDLES_GIT_URL * refactor(investigation): Rename gitrepodir function * Dependency cron 2026-01-22 * feat: Show limits on "Next & Previous" tab within table * fix: Avoid Perl warning if product spec contains undef values * GenericBug: Add [QE] to the subject * OpenSuseIssueReporter: Avoid multiple push calls * unit_tests: Add unit tests for OpenSuseBugzillaUtils * unit_tests: Adapt the UI tests to the new kernel bug button * plugins: Introduce OpenSuseIssueReporter for external issue reporting * Show jobs that have been cloned when `t` parameter is used on overview * Avoid partial deletion of a screenshot if Minion job is aborted * Add `SignalBlocker` to delay signal handling during critical sections * feat: Allow to configure key+secret with env variables * Bump js-yaml from 4.1.0 to 4.1.1 * Dependency cron 2025-10-23 * build(deps): bump ace-builds from 1.43.3 to 1.43.4 * Consider all jobs for cleanup, not just jobs that were executed * Verify job deletion when dependent job present * script: Also use OPENQA_WEBUI_MODE for related services * Don't redirect screenshots, thumbs and needles to files_domain * build(deps-dev): bump eslint from 9.35.0 to 9.36.0 Update to version 5.1758186241.6227e906: * Prevent abort while doing database interaction in Delete needles * Worker: Detect IPMI config and shutdown SUT when unused * AMQP: include list of failed modules in job.done messages * Dependency cron 2025-09-06 * parser: ktap: Don't add skipped subtests to output * Allow using a different subdomain via `file_security_policy` * build(deps): bump ace-builds from 1.43.2 to 1.43.3 * t: Ensure no leftover files in git directory * ci: Ensure clean git status with Test::CheckGitStatus * t: Use proper test description strings in 03-auth.t * t: Condense variable assignment with ok-check * docs: Fix typo in path to script folder * build(deps): bump bootstrap from 5.3.7 to 5.3.8 * Handle 'expand_placeholders' return value consistently * Use backticks in docs for querying job settings * Worker::Engines::isotovideo: Simplify using more Mojo::File * Worker::Engines::isotovideo: Remove obsolete comment * Add instructions for running a openQA/tools dev environment os-autoinst-5.1775053765.0f55e29-bp160.999999.1.1.src.rpm os-autoinst-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-debuginfo-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-debugsource-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-devel-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-ipmi-deps-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-openvswitch-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-qemu-kvm-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-qemu-x86-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-s390-deps-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-swtpm-5.1775053765.0f55e29-bp160.999999.1.1.x86_64.rpm os-autoinst-test-5.1775053765.0f55e29-bp160.999999.1.1.src.rpm os-autoinst-devel-test-5.1775053765.0f55e29-bp160.999999.1.1.src.rpm os-autoinst-openvswitch-test-5.1775053765.0f55e29-bp160.999999.1.1.src.rpm openQA-5.1775115436.d37d45f6-bp160.999999.1.1.src.rpm openQA-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-auto-update-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-bootstrap-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-client-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-common-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-continuous-update-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-devel-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-doc-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-local-db-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-mcp-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-munin-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-python-scripts-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-single-instance-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-single-instance-nginx-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-worker-5.1775115436.d37d45f6-bp160.999999.1.1.x86_64.rpm openQA-devel-test-5.1775115436.d37d45f6-bp160.999999.1.1.src.rpm openQA-test-5.1775115436.d37d45f6-bp160.999999.1.1.src.rpm openQA-worker-test-5.1775115436.d37d45f6-bp160.999999.1.1.src.rpm openQA-client-test-5.1775115436.d37d45f6-bp160.999999.1.1.src.rpm os-autoinst-5.1775053765.0f55e29-bp160.999999.1.1.s390x.rpm os-autoinst-debuginfo-5.1775053765.0f55e29-bp160.999999.1.1.s390x.rpm os-autoinst-debugsource-5.1775053765.0f55e29-bp160.999999.1.1.s390x.rpm os-autoinst-devel-5.1775053765.0f55e29-bp160.999999.1.1.s390x.rpm os-autoinst-ipmi-deps-5.1775053765.0f55e29-bp160.999999.1.1.s390x.rpm os-autoinst-openvswitch-5.1775053765.0f55e29-bp160.999999.1.1.s390x.rpm os-autoinst-s390-deps-5.1775053765.0f55e29-bp160.999999.1.1.s390x.rpm os-autoinst-swtpm-5.1775053765.0f55e29-bp160.999999.1.1.s390x.rpm openQA-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-auto-update-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-bootstrap-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-client-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-common-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-continuous-update-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-devel-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-doc-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-local-db-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-mcp-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-munin-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-python-scripts-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-single-instance-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-single-instance-nginx-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm openQA-worker-5.1775115436.d37d45f6-bp160.999999.1.1.s390x.rpm os-autoinst-5.1775053765.0f55e29-bp160.999999.1.1.ppc64le.rpm os-autoinst-debuginfo-5.1775053765.0f55e29-bp160.999999.1.1.ppc64le.rpm os-autoinst-debugsource-5.1775053765.0f55e29-bp160.999999.1.1.ppc64le.rpm os-autoinst-devel-5.1775053765.0f55e29-bp160.999999.1.1.ppc64le.rpm os-autoinst-ipmi-deps-5.1775053765.0f55e29-bp160.999999.1.1.ppc64le.rpm os-autoinst-openvswitch-5.1775053765.0f55e29-bp160.999999.1.1.ppc64le.rpm os-autoinst-s390-deps-5.1775053765.0f55e29-bp160.999999.1.1.ppc64le.rpm os-autoinst-swtpm-5.1775053765.0f55e29-bp160.999999.1.1.ppc64le.rpm openQA-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-auto-update-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-bootstrap-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-client-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-common-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-continuous-update-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-devel-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-doc-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-local-db-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-mcp-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-munin-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-python-scripts-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-single-instance-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-single-instance-nginx-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm openQA-worker-5.1775115436.d37d45f6-bp160.999999.1.1.ppc64le.rpm os-autoinst-5.1775053765.0f55e29-bp160.999999.1.1.aarch64.rpm os-autoinst-debuginfo-5.1775053765.0f55e29-bp160.999999.1.1.aarch64.rpm os-autoinst-debugsource-5.1775053765.0f55e29-bp160.999999.1.1.aarch64.rpm os-autoinst-devel-5.1775053765.0f55e29-bp160.999999.1.1.aarch64.rpm os-autoinst-ipmi-deps-5.1775053765.0f55e29-bp160.999999.1.1.aarch64.rpm os-autoinst-openvswitch-5.1775053765.0f55e29-bp160.999999.1.1.aarch64.rpm os-autoinst-s390-deps-5.1775053765.0f55e29-bp160.999999.1.1.aarch64.rpm os-autoinst-swtpm-5.1775053765.0f55e29-bp160.999999.1.1.aarch64.rpm openQA-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-auto-update-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-bootstrap-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-client-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-common-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-continuous-update-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-devel-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-doc-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-local-db-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-mcp-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-munin-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-python-scripts-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-single-instance-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-single-instance-nginx-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm openQA-worker-5.1775115436.d37d45f6-bp160.999999.1.1.aarch64.rpm