Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openQA for openSUSE:Leap:16.0 checked in at 2025-06-19 01:27:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:16.0/openQA (Old) and /work/SRC/openSUSE:Leap:16.0/.openQA.new.19631 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA" Thu Jun 19 01:27:08 2025 rev:3 rq:1286615 version:5.1750237596.0e254038 Changes: -------- --- /work/SRC/openSUSE:Leap:16.0/openQA/openQA.changes 2025-06-18 11:34:24.982982329 +0200 +++ /work/SRC/openSUSE:Leap:16.0/.openQA.new.19631/openQA.changes 2025-06-19 01:28:49.212823494 +0200 @@ -1,0 +2,8 @@ +Wed Jun 18 10:12:55 UTC 2025 - ok...@suse.com + +- Update to version 5.1750237596.0e254038: + * Bump eslint-plugin-prettier from 5.4.1 to 5.5.0 + * Avoid adding non-fatal API errors as incomplete reason in general + * Avoid misleading errors about the websocket connection + +------------------------------------------------------------------- Old: ---- openQA-5.1750081859.24dae152.obscpio New: ---- openQA-5.1750237596.0e254038.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openQA-client-test.spec ++++++ --- /var/tmp/diff_new_pack.QNTHN3/_old 2025-06-19 01:28:49.612840145 +0200 +++ /var/tmp/diff_new_pack.QNTHN3/_new 2025-06-19 01:28:49.612840145 +0200 @@ -18,7 +18,7 @@ %define short_name openQA-client Name: %{short_name}-test -Version: 5.1750081859.24dae152 +Version: 5.1750237596.0e254038 Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ openQA-devel-test.spec ++++++ --- /var/tmp/diff_new_pack.QNTHN3/_old 2025-06-19 01:28:49.640841310 +0200 +++ /var/tmp/diff_new_pack.QNTHN3/_new 2025-06-19 01:28:49.644841477 +0200 @@ -18,7 +18,7 @@ %define short_name openQA-devel Name: %{short_name}-test -Version: 5.1750081859.24dae152 +Version: 5.1750237596.0e254038 Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ openQA-test.spec ++++++ --- /var/tmp/diff_new_pack.QNTHN3/_old 2025-06-19 01:28:49.672842642 +0200 +++ /var/tmp/diff_new_pack.QNTHN3/_new 2025-06-19 01:28:49.676842809 +0200 @@ -18,7 +18,7 @@ %define short_name openQA Name: %{short_name}-test -Version: 5.1750081859.24dae152 +Version: 5.1750237596.0e254038 Release: 0 Summary: Test package for openQA License: GPL-2.0-or-later ++++++ openQA-worker-test.spec ++++++ --- /var/tmp/diff_new_pack.QNTHN3/_old 2025-06-19 01:28:49.704843974 +0200 +++ /var/tmp/diff_new_pack.QNTHN3/_new 2025-06-19 01:28:49.704843974 +0200 @@ -18,7 +18,7 @@ %define short_name openQA-worker Name: %{short_name}-test -Version: 5.1750081859.24dae152 +Version: 5.1750237596.0e254038 Release: 0 Summary: Test package for %{short_name} License: GPL-2.0-or-later ++++++ openQA.spec ++++++ --- /var/tmp/diff_new_pack.QNTHN3/_old 2025-06-19 01:28:49.740845473 +0200 +++ /var/tmp/diff_new_pack.QNTHN3/_new 2025-06-19 01:28:49.740845473 +0200 @@ -97,7 +97,7 @@ %define devel_requires %devel_no_selenium_requires chromedriver Name: openQA -Version: 5.1750081859.24dae152 +Version: 5.1750237596.0e254038 Release: 0 Summary: The openQA web-frontend, scheduler and tools License: GPL-2.0-or-later ++++++ node_modules.obscpio ++++++ Binary files old/eslint-plugin-prettier-5.4.1.tgz and new/eslint-plugin-prettier-5.4.1.tgz differ Binary files old/eslint-plugin-prettier-5.5.0.tgz and new/eslint-plugin-prettier-5.5.0.tgz differ ++++++ node_modules.spec.inc ++++++ --- /var/tmp/diff_new_pack.QNTHN3/_old 2025-06-19 01:28:50.336870282 +0200 +++ /var/tmp/diff_new_pack.QNTHN3/_new 2025-06-19 01:28:50.340870449 +0200 @@ -76,7 +76,7 @@ Source1075: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#/escape-string-regexp-4.0.0.tgz Source1076: https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz#/eslint-9.29.0.tgz Source1077: https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz#/eslint-config-prettier-10.1.5.tgz -Source1078: https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.1.tgz#/eslint-plugin-prettier-5.4.1.tgz +Source1078: https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.0.tgz#/eslint-plugin-prettier-5.5.0.tgz Source1079: https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz#/eslint-scope-8.4.0.tgz Source1080: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#/eslint-visitor-keys-3.4.3.tgz Source1081: https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#/eslint-visitor-keys-4.2.1.tgz ++++++ openQA-5.1750081859.24dae152.obscpio -> openQA-5.1750237596.0e254038.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openQA-5.1750081859.24dae152/lib/OpenQA/Worker/WebUIConnection.pm new/openQA-5.1750237596.0e254038/lib/OpenQA/Worker/WebUIConnection.pm --- old/openQA-5.1750081859.24dae152/lib/OpenQA/Worker/WebUIConnection.pm 2025-06-16 15:50:59.000000000 +0200 +++ new/openQA-5.1750237596.0e254038/lib/OpenQA/Worker/WebUIConnection.pm 2025-06-18 11:06:36.000000000 +0200 @@ -68,7 +68,9 @@ $event_data->{status} = $status; $self->status($status); # set the error message from the event data as last error so it can added to the reason when setting the job done - if (my $event_error_message = $event_data->{error_message}) { $self->{_last_error} = $event_error_message } + delete $self->{_last_ws_error} if $status eq 'connected'; + if (my $error_message = $event_data->{error_message}) { $self->{_last_error} = $error_message } + if (my $ws_error_message = $event_data->{ws_error_message}) { $self->{_last_ws_error} = $ws_error_message } $self->emit(status_changed => $event_data); } @@ -168,7 +170,7 @@ my $retry_after = $tx->res->headers->header('Retry-After'); my $error_message = "Unable to upgrade to ws connection via $websocket_url"; $error_message .= ", code $error->{code}" if ($error && $error->{code}); - $self->_set_status(failed => {error_message => $error_message, retry_after => $retry_after}); + $self->_set_status(failed => {ws_error_message => $error_message, retry_after => $retry_after}); return undef; } @@ -198,7 +200,7 @@ $self->websocket_connection(undef)->_set_status( # uncoverable statement failed => { - error_message => + ws_error_message => "Websocket connection to $websocket_url finished by remote side with code $code, $reason" }); @@ -306,13 +308,13 @@ my ($error_msg, $retry_delay) = $self->evaluate_error($tx, \$tries); return $callback->($tx->res->json) if !$error_msg && $tx->res->json; return $callback->() if $ignore_errors; - $self->{_last_error} = $error_msg; log_error(qq{REST-API error ($method "$ua_url"): $error_msg (remaining tries: $tries)}); # handle critical error when no more attempts remain if ($tries <= 0 && !$non_critical) { # abort the current job, we're in trouble - but keep running to grab the next my $worker = $self->worker; + $self->{_last_error} = $error_msg; my $current_webui_host = $worker->current_webui_host; if ($current_webui_host && $current_webui_host eq $self->webui_host) { $worker->stop_current_job(WORKER_SR_API_FAILURE); @@ -341,9 +343,9 @@ $ua->start($tx => sub { $cb->(@_, $tries) }); } -sub last_error ($self) { $self->{_last_error} } +sub last_error ($self) { $self->{_last_error} // $self->{_last_ws_error} } -sub reset_last_error ($self) { delete $self->{_last_error} } +sub reset_last_error ($self) { delete $self->{_last_error}; delete $self->{_last_ws_error} } sub add_context_to_last_error ($self, $context) { my $last_error = $self->{_last_error}; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openQA-5.1750081859.24dae152/lib/OpenQA/Worker.pm new/openQA-5.1750237596.0e254038/lib/OpenQA/Worker.pm --- old/openQA-5.1750081859.24dae152/lib/OpenQA/Worker.pm 2025-06-16 15:50:59.000000000 +0200 +++ new/openQA-5.1750237596.0e254038/lib/OpenQA/Worker.pm 2025-06-18 11:06:36.000000000 +0200 @@ -660,7 +660,7 @@ sub _handle_client_status_changed ($self, $client, $event_data) { my $status = $event_data->{status}; - my $error_message = $event_data->{error_message}; + my $error_message = $event_data->{error_message} // $event_data->{ws_error_message}; my $webui_host = $client->webui_host; return log_info("Registering with openQA $webui_host") if $status eq 'registering'; return log_info('Establishing ws connection via ' . $event_data->{url}) if $status eq 'establishing_ws'; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openQA-5.1750081859.24dae152/package-lock.json new/openQA-5.1750237596.0e254038/package-lock.json --- old/openQA-5.1750081859.24dae152/package-lock.json 2025-06-16 15:50:59.000000000 +0200 +++ new/openQA-5.1750237596.0e254038/package-lock.json 2025-06-18 11:06:36.000000000 +0200 @@ -24,7 +24,7 @@ "devDependencies": { "eslint": "^9.29.0", "eslint-config-prettier": "^10.1.5", - "eslint-plugin-prettier": "^5.4.1", + "eslint-plugin-prettier": "^5.5.0", "prettier": "3.5.3" } }, @@ -983,9 +983,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.4.1.tgz", - "integrity": "sha512-9dF+KuU/Ilkq27A8idRP7N2DH8iUR6qXcjF3FR2wETY21PZdBrIjwCau8oboyGj9b7etWmTGEeM8e7oOed6ZWg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.0.tgz", + "integrity": "sha512-8qsOYwkkGrahrgoUv76NZi23koqXOGiiEzXMrT8Q7VcYaUISR+5MorIUxfWqYXN0fN/31WbSrxCxFkVQ43wwrA==", "dev": true, "license": "MIT", "dependencies": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openQA-5.1750081859.24dae152/package.json new/openQA-5.1750237596.0e254038/package.json --- old/openQA-5.1750081859.24dae152/package.json 2025-06-16 15:50:59.000000000 +0200 +++ new/openQA-5.1750237596.0e254038/package.json 2025-06-18 11:06:36.000000000 +0200 @@ -14,7 +14,7 @@ "devDependencies": { "eslint": "^9.29.0", "eslint-config-prettier": "^10.1.5", - "eslint-plugin-prettier": "^5.4.1", + "eslint-plugin-prettier": "^5.5.0", "prettier": "3.5.3" }, "dependencies": { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openQA-5.1750081859.24dae152/t/24-worker-webui-connection.t new/openQA-5.1750237596.0e254038/t/24-worker-webui-connection.t --- old/openQA-5.1750081859.24dae152/t/24-worker-webui-connection.t 2025-06-16 15:50:59.000000000 +0200 +++ new/openQA-5.1750237596.0e254038/t/24-worker-webui-connection.t 2025-06-18 11:06:36.000000000 +0200 @@ -62,7 +62,7 @@ @happened_events, { status => $event_data->{status}, - error_message => $event_data->{error_message}, + error_message => $event_data->{error_message} // $event_data->{ws_error_message}, }); }); @@ -187,11 +187,22 @@ $client->_setup_websocket_connection; # attempt to connect running into connection error + $client->reset_last_error; $client->worker_id(42); $client->_setup_websocket_connection; $client->once(status_changed => sub ($status, @) { Mojo::IOLoop->stop if $status eq 'failed' }); Mojo::IOLoop->start; is_deeply \@happened_events, \@expected_events, 'events emitted' or always_explain \@happened_events; + is $client->last_error, 'Unable to upgrade to ws connection via http://test-host/api/v1/ws/42', 'last error set'; +}; + +subtest 'clearning errors' => sub { + $client->_set_status(connected => {}); + is $client->last_error, undef, 'last error from ws connection cleared once connected again'; + + $client->_set_status(failed => {error_message => 'other error'}); + $client->_set_status(connected => {}); + is $client->last_error, 'other error', 'other errors not cleared once connected again'; }; subtest 'retry behavior' => sub { ++++++ openQA.obsinfo ++++++ --- /var/tmp/diff_new_pack.QNTHN3/_old 2025-06-19 01:29:03.005397605 +0200 +++ /var/tmp/diff_new_pack.QNTHN3/_new 2025-06-19 01:29:03.009397772 +0200 @@ -1,5 +1,5 @@ name: openQA -version: 5.1750081859.24dae152 -mtime: 1750081859 -commit: 24dae152c1dea70379c4ee9bc04140cb3d67b76e +version: 5.1750237596.0e254038 +mtime: 1750237596 +commit: 0e2540389a212531ce34fd097bf0c249ea8c3ccb