Notification time stamped 2020-04-30 22:58:42 UTC
From f13e41ed86059006cd386ce1e9cb47e19e785f08 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam(a)redhat.com>
Date: Apr 30 2020 22:58:20 +0000
Subject: Bump to latest git again, backport a PR, resync spec
---
diff --git a/.gitignore b/.gitignore
index 53d41ab..30f21f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -88,3 +88,5 @@
/openQA-12cea51da8e77ae1553de81741392e299cae4005.tar.gz
/openQA-7160d88d931d9706ba1e55d66fd9f0ea5d9377b0.tar.gz
/assetcache-7160d88d931d9706ba1e55d66fd9f0ea5d9377b0.tar.xz
+/openQA-46234f90c3852646b7f80b88dcb9d8e5dca07f10.tar.gz
+/assetcache-46234f90c3852646b7f80b88dcb9d8e5dca07f10.tar.xz
diff --git a/0001-Fix-load_templates-clean-to-wipe-more-than-one-entry.patch
b/0001-Fix-load_templates-clean-to-wipe-more-than-one-entry.patch
deleted file mode 100644
index 97f04c7..0000000
--- a/0001-Fix-load_templates-clean-to-wipe-more-than-one-entry.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From edbef94836b6bfbc796819a0c3f59ae89de5f675 Mon Sep 17 00:00:00 2001
-From: Adam Williamson <awilliam(a)redhat.com>
-Date: Sat, 18 Apr 2020 11:38:37 -0700
-Subject: [PATCH] Fix load_templates --clean to wipe more than one entry per
- table
-
-1400d8a8dd inverted the logic here - instead of exiting the loop
-on a *failure* we now exit it on *success*. So each time --clean
-is run it will only wipe one entry per table. This obviously
-breaks things badly (the clean phase doesn't clean things right
-at all, so the subsequent load phase fails because we try to add
-entries that already exist, and you wind up with a mess).
-
-This flips the logic back, and adds a test.
-
-Signed-off-by: Adam Williamson <awilliam(a)redhat.com>
----
- script/load_templates | 2 +-
- t/01-compile-check-all.t | 3 ++-
- t/40-script_load_templates.t | 32 ++++++++++++++++++++++++-------
- t/data/40-templates-more.pl | 37 ++++++++++++++++++++++++++++++++++++
- 4 files changed, 65 insertions(+), 9 deletions(-)
- create mode 100644 t/data/40-templates-more.pl
-
-diff --git a/script/load_templates b/script/load_templates
-index 724a404f3..da089347c 100755
---- a/script/load_templates
-+++ b/script/load_templates
-@@ -241,7 +241,7 @@ if ($options{'clean'}) {
- my $id = $result->{$table}->[$i]->{id};
- my $table_url_id = $url->clone->path($options{'apibase'} .
'/' . decamelize($table) . "/$id");
- $res = $client->delete($table_url_id)->res;
-- last if $res->is_success;
-+ last unless $res->is_success;
- }
- }
-
-diff --git a/t/01-compile-check-all.t b/t/01-compile-check-all.t
-index 5b620e3d5..b6cebd48e 100644
---- a/t/01-compile-check-all.t
-+++ b/t/01-compile-check-all.t
-@@ -27,8 +27,9 @@ $Test::Strict::TEST_WARNINGS = 1;
- $Test::Strict::TEST_SKIP = [
- # skip test module which would require test API from os-autoinst to be present
-
't/data/openqa/share/tests/opensuse/tests/installation/installer_timezone.pm',
-- # Skip data file which is supposed to resemble generated output which has no
'use' statements
-+ # Skip data files which are supposed to resemble generated output which has no
'use' statements
- 't/data/40-templates.pl',
-+ 't/data/40-templates-more.pl',
- 't/data/openqa-trigger-from-obs/Proj2::appliances/empty.txt',
- 't/data/openqa-trigger-from-obs/Proj3::standard/empty.txt',
- ];
-diff --git a/t/40-script_load_templates.t b/t/40-script_load_templates.t
-index 8be3e0c53..51f67e135 100644
---- a/t/40-script_load_templates.t
-+++ b/t/40-script_load_templates.t
-@@ -46,9 +46,10 @@ sub decode {
Cpanel::JSON::XS->new->relaxed->decode(path(shift)->slurp); }
- test_once '--help', qr/Usage:/, 'help text shown', 1,
'load_templates with no arguments shows usage';
- test_once '--host', qr/Option host requires an argument/, 'host argument
error shown', 1, 'required arguments missing';
-
--my $host = 'testhost:1234';
--my $filename = 't/data/40-templates.pl';
--my $args = "--host $host $filename";
-+my $host = 'testhost:1234';
-+my $filename = 't/data/40-templates.pl';
-+my $morefilename = 't/data/40-templates-more.pl';
-+my $args = "--host $host $filename";
- test_once $args, qr/unknown error code - host $host unreachable?/, 'invalid host
error', 22, 'error on invalid host';
-
- $ENV{MOJO_LOG_LEVEL} = 'fatal';
-@@ -71,19 +72,36 @@ test_once $args, $expected, 'Admin may load templates', 0,
'successfully loaded
- test_once $args, qr/group with existing name/, 'Duplicate job group', 255,
'failed on duplicate job group';
-
- my $fh;
--($fh, $filename) = tempfile(UNLINK => 1, SUFFIX => '.json');
--$args = "--host $host --apikey $apikey --apisecret $apisecret --json >
$filename";
-+my $tempfilename;
-+($fh, $tempfilename) = tempfile(UNLINK => 1, SUFFIX => '.json');
-+$args = "--host $host --apikey $apikey --apisecret $apisecret --json >
$tempfilename";
- $expected = qr/^$/;
- dump_templates $args, $expected, 'dumped fixtures';
- # Clear the data in relevant tables
- $schema->resultset($_)->delete for qw(Machines TestSuites Products JobTemplates
JobGroups);
--$args = "--host $host --apikey $apikey --apisecret $apisecret $filename";
-+$args = "--host $host --apikey $apikey --apisecret $apisecret
$tempfilename";
- $expected = qr/JobGroups.+=> \{ added => 3, of => 3 \}/;
- test_once $args, $expected, 're-imported fixtures';
- my ($rh, $reference) = tempfile(UNLINK => 1, SUFFIX => '.json');
- $args = "--host $host --apikey $apikey --apisecret $apisecret --json >
$reference";
- $expected = qr/^$/;
- dump_templates $args, $expected, 're-dumped fixtures';
--is_deeply decode($filename), decode($reference), 'both dumps match';
-+is_deeply decode($tempfilename), decode($reference), 'both dumps match';
-+
-+# Clear the data in relevant tables again
-+$schema->resultset($_)->delete for qw(Machines TestSuites Products JobTemplates
JobGroups);
-+# load the templates file with 2 machines
-+$args = "--host $host --apikey $apikey --apisecret $apisecret
$morefilename";
-+$expected = qr/Machines.+=> \{ added => 2, of => 2 \}/;
-+test_once $args, $expected, 'imported MOAR fixtures';
-+# wipe jobgroups manually as --clean explicitly skips it
-+$schema->resultset("JobGroups")->delete;
-+# now load the templates file with only 1 machine, with --clean
-+$args = "--host $host --apikey $apikey --apisecret $apisecret --clean
$filename";
-+$expected = qr/Machines.+=> \{ added => 1, of => 1 \}/;
-+test_once $args, $expected, 'imported original fixtures';
-+is $schema->resultset('Machines')->count, 1, "only one machine is
loaded";
-+my $machine = $schema->resultset('Machines')->first;
-+is $machine->name, "32bit", "correct machine is loaded";
-
- done_testing;
-diff --git a/t/data/40-templates-more.pl b/t/data/40-templates-more.pl
-new file mode 100644
-index 000000000..79f5fbb1e
---- /dev/null
-+++ b/t/data/40-templates-more.pl
-@@ -0,0 +1,37 @@
-+{
-+ JobGroups => [
-+ {
-+ group_name => "openSUSE Leap 42.3 Updates",
-+ template => "scenarios: {}\nproducts: {}\n",
-+ },
-+ ],
-+ JobTemplates => [],
-+ Machines => [
-+ {
-+ backend => "qemu",
-+ name => "32bit",
-+ settings => [],
-+ },
-+ {
-+ backend => "qemu",
-+ name => "64bit",
-+ settings => [],
-+ },
-+ ],
-+ Products => [
-+ {
-+ arch => "x86_64",
-+ distri => "opensuse",
-+ flavor => "DVD",
-+ settings => [],
-+ version => 42.2,
-+ },
-+ ],
-+ TestSuites => [
-+ {
-+ name => "uefi",
-+ settings =>
-+ [{key => "DESKTOP", value => "kde"}, {key =>
"INSTALLONLY", value => 1}, {key => "UEFI", value => 1},],
-+ },
-+ ],
-+}
---
-2.26.1
-
diff --git a/0001-Fix-missing_assets-to-ignore-repos-not-hidden-assets.patch
b/0001-Fix-missing_assets-to-ignore-repos-not-hidden-assets.patch
new file mode 100644
index 0000000..f27d9de
--- /dev/null
+++ b/0001-Fix-missing_assets-to-ignore-repos-not-hidden-assets.patch
@@ -0,0 +1,53 @@
+From 4a09dedd5f1a09b2f5df817a3c097a968f8e1b5a Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam(a)redhat.com>
+Date: Wed, 29 Apr 2020 12:50:35 -0700
+Subject: [PATCH] Fix missing_assets to ignore repos, not 'hidden assets'
+
+As discussed in
+https://github.com/os-autoinst/openQA/pull/2676#issuecomment-615951653
+and follow-ups, this check misunderstands the "hidden" attribute.
+The code assumes that "hidden" assets are the same thing as
+"assets we don't really want to copy down when cloning jobs",
+but they are not. The "hidden" attribute was written (by me) to
+mean "asset types not to be shown for downloading in the web UI".
+
+For SUSE, it happens to be the case that ["repo"] would be the
+right array of both "not-to-be-shown-in-the-web-ui assets" and
+"non-clonable assets", so this bug wasn't apparent, as SUSE
+deployments leave the `hide_asset_types` config setting at its
+default value of just 'repo'. But on Fedora deployments, this
+setting is changed to 'repo iso hdd' (because we don't want to
+show those asset types for download in the web UI), so this code
+also ignored ISO and HDD assets when checking for "missing"
+assets, which we don't want.
+
+As discussed in the pull request we could potentially make this
+a configurable attribute and have the clone_job script use it
+too, but doing that is a bit harder, and I don't think for now
+anyone wants a different definition of "non-clonable assets", so
+it doesn't seem really necessary.
+
+Signed-off-by: Adam Williamson <awilliam(a)redhat.com>
+---
+ lib/OpenQA/Schema/Result/Jobs.pm | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/lib/OpenQA/Schema/Result/Jobs.pm b/lib/OpenQA/Schema/Result/Jobs.pm
+index 8ae786659..5bbf0cb41 100644
+--- a/lib/OpenQA/Schema/Result/Jobs.pm
++++ b/lib/OpenQA/Schema/Result/Jobs.pm
+@@ -572,8 +572,10 @@ sub missing_assets {
+ delete $assets->{UEFI_PFLASH_VARS};
+
+ my $parent_job_ids = $self->_parent_job_ids;
++ # ignore repos, as they're not really clonable: see
++ #
https://github.com/os-autoinst/openQA/pull/2676#issuecomment-616312026
+ my @relevant_assets
+- = grep { $_->{name} ne '' &&
!OpenQA::Schema::Result::Assets::is_type_hidden($_->{type}) } values %$assets;
++ = grep { $_->{name} ne '' && $_->{type} ne 'repo' }
values %$assets;
+ my @assets_query = map {
+ {
+ type => $_->{type},
+--
+2.26.2
+
diff --git a/openqa.spec b/openqa.spec
index fc38091..4666a4b 100644
--- a/openqa.spec
+++ b/openqa.spec
@@ -23,9 +23,9 @@
%global github_owner os-autoinst
%global github_name openQA
%global github_version 4.6
-%global github_commit 7160d88d931d9706ba1e55d66fd9f0ea5d9377b0
+%global github_commit 46234f90c3852646b7f80b88dcb9d8e5dca07f10
# if set, will be a post-release snapshot build, otherwise a 'normal' build
-%global github_date 20200415
+%global github_date 20200429
%global shortcommit %(c=%{github_commit}; echo ${c:0:7})
# can't use linebreaks here!
@@ -39,34 +39,50 @@
%endif
%define python_scripts_requires python3-requests python3-future
-%define assetpack_requires perl(Mojolicious::Plugin::AssetPack) >= 2.01,
perl(CSS::Minifier::XS) perl(JavaScript::Minifier::XS)
-%define common_requires perl(Archive::Extract) perl(Config::IniFiles)
perl(Cpanel::JSON::XS) perl(Cwd) perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5)
perl(Getopt::Long) perl(Minion) >= 10.04, perl(Mojolicious) >= 8.24, perl(Try::Tiny)
perl(Regexp::Common), perl(Storable)
+
+# The following line is generated from dependencies.yaml (upstream)
+%define assetpack_requires perl(CSS::Minifier::XS) >= 0.01
perl(JavaScript::Minifier::XS) >= 0.11 perl(Mojolicious::Plugin::AssetPack) >= 1.36
+# The following line is generated from dependencies.yaml (upstream)
+%define common_requires perl(Archive::Extract) > 0.7 perl(Config::IniFiles)
perl(Cpanel::JSON::XS) perl(Cwd) perl(Data::Dump) perl(Data::Dumper) perl(Digest::MD5)
perl(Getopt::Long) perl(Minion) >= 10.04 perl(Mojolicious) >= 8.24
perl(Regexp::Common) perl(Storable) perl(Try::Tiny)
# runtime requirements for the main package that are not required by other sub-packages
-# diff from suse: we need perl(Time::Seconds) and perl(Time::Piece)
-# here, do not lose them when copying from suse
-%define main_requires %assetpack_requires git-core perl(Carp::Always) perl(Date::Format)
perl(DateTime::Format::Pg) 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::Schema::Config)
perl(DBIx::Class::Storage::Statistics) perl(DBIx::Class::OptimisticLocking)
perl(File::Copy::Recursive) perl(Net::OpenID::Consumer) perl(Module::Pluggable)
perl(aliased) perl(Config::Tiny) perl(Text::Diff) perl(CommonMark) perl(JSON::Validator)
perl(IPC::Run) perl(Time::ParseDate) perl(Sort::Versions) perl(BSD::Resource)
perl(Pod::POM) perl(Mojo::Pg) perl(Mojo::RabbitMQ::Client) >= 0.2,
perl(SQL::Translator) perl(YAML::PP) perl(YAML::XS) >= 0.67, perl(LWP::UserAgent)
perl(Getopt::Long::Descriptive) perl(Time::Seconds) perl(Time::Piece)
-%define client_requires curl jq git-core perl(IO::Socket::SSL) >= 2.009,
perl(JSON::Validator) perl(LWP::UserAgent) perl(LWP::Protocol::https) perl(IPC::Run)
perl(YAML::PP) >= 0.020 perl(YAML::XS)
-%define worker_requires os-autoinst < 5, perl(Mojo::IOLoop::ReadWriteProcess) >
0.19, perl(Minion::Backend::SQLite) perl(Mojo::SQLite) openqa-client optipng
-%define build_requires rubygem(sass) %assetpack_requires
+# The following line is generated from dependencies.yaml (upstream)
+%define main_requires %assetpack_requires git-core perl(BSD::Resource) perl(Carp)
perl(Carp::Always) perl(CommonMark) perl(Config::Tiny) 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(Mojolicious::Commands) perl(Mojolicious::Plugin)
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.020 perl(YAML::XS) perl(aliased) perl(base)
perl(constant) perl(diagnostics) perl(strict) perl(warnings)
+# The following line is generated from dependencies.yaml (upstream)
+%define client_requires curl git-core jq perl(IO::Socket::SSL) >= 2.009 perl(IPC::Run)
perl(JSON::Validator) perl(LWP::Protocol::https) perl(LWP::UserAgent) perl(YAML::PP) >=
0.020 perl(YAML::XS)
+# diff from SUSE: case (they have openQA-client, we have openqa-client)
+# The following line is generated from dependencies.yaml (upstream)
+%define worker_requires openqa-client optipng os-autoinst < 5
perl(Minion::Backend::SQLite) perl(Mojo::IOLoop::ReadWriteProcess) >= 0.20
perl(Mojo::SQLite)
+# The following line is generated from dependencies.yaml (upstream)
+%define build_requires %assetpack_requires rubygem(sass)
# All requirements needed by the tests executed during build-time.
# Do not require on this in individual sub-packages except for the devel
# package.
# Diff from SUSE: Selenium requirements dropped as not available in Fedora,
-# perl(Perl::Critic::Freenode) dropped as not available in Fedora (and
-# doesn't seem to hurt if it's missing)
-%define test_requires %common_requires %main_requires %python_scripts_requires
%worker_requires perl(App::cpanminus) perl(Module::Load::Conditional) perl(Perl::Critic)
perl(Test::Mojo) perl(Test::More) perl(Test::Strict) perl(Test::Fatal)
perl(Test::MockModule) perl(Test::MockObject) perl(Test::Output) perl(Test::Pod)
perl(Test::Warnings) perl(Test::Exception) ShellCheck os-autoinst-devel postgresql-server
curl jq
+# critic and (python) yamllint requirements dropped (except Perl::Critic
+# itself as the compile-check-all test fails on the in-tree critic module
+# if we leave that out) as we don't run those checks in our package build
+# (SUSE runs them in theirs), Test::MockObject and Test::Exception added as
+# upstream is missing them -
https://github.com/os-autoinst/openQA/pull/3018
+# The following line is generated from dependencies.yaml (upstream)
+%define test_requires %common_requires %main_requires %python_scripts_requires
%worker_requires ShellCheck curl jq os-autoinst-devel perl(App::cpanminus)
perl(Perl::Critic) perl(Test::Exception) perl(Test::Fatal) perl(Test::MockModule)
perl(Test::MockObject) perl(Test::Mojo) perl(Test::More) perl(Test::Output)
perl(Test::Pod) perl(Test::Strict) perl(Test::Warnings) postgresql-server
+%ifarch x86_64
+%define qemu qemu qemu-kvm
+%else
+%define qemu qemu
+%endif
# diff from SUSE: perl(Devel::Cover::Report::Codecov) dropped because
# it's not in Fedora (this means you can't run 'make coverage-codecov')
# xorg-x11-fonts dropped because that binary package doesn't exist in
# Fedora (it exists as a source package generating multiple binary
# packages) and I can't find any particular reason for it
# chromedriver dropped as we don't package it
-%define devel_requires %build_requires %test_requires rsync curl postgresql-devel qemu
qemu-kvm tar sudo perl(Devel::Cover) perl(Perl::Tidy)
+# The following line is generated from dependencies.yaml
+%define devel_requires %build_requires %qemu %test_requires curl perl(Devel::Cover)
perl(Perl::Tidy) postgresql-devel rsync sudo tar
Name: openqa
Version: %{github_version}
-Release: 48%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
+Release: 49%{?github_date:.%{github_date}git%{shortcommit}}%{?dist}
Summary: OS-level automated testing framework
License: GPLv2+
Url:
http://os-autoinst.github.io/openQA/
@@ -88,9 +104,11 @@ Source3: FedoraMessaging.pm
# tests for the fedora-messaging publishing plugin
Source4: 23-fedora-messaging.t
-#
https://github.com/os-autoinst/openQA/pull/2955
-# Fix a logic error in `load_templates --clean` that breaks it
-Patch0: 0001-Fix-load_templates-clean-to-wipe-more-than-one-entry.patch
+#
https://github.com/os-autoinst/openQA/pull/3017
+# Missing asset check shouldn't use 'hidden' attribute as it doesn't
+# mean what the author thought it meant, made the check ignore most
+# assets on Fedora
+Patch0: 0001-Fix-missing_assets-to-ignore-repos-not-hidden-assets.patch
BuildRequires: %{python_scripts_requires}
BuildRequires: perl-generators
@@ -305,6 +323,7 @@ ln -s %{_sysconfdir}/openqa/openqa.ini
%{buildroot}%{_datadir}/openqa/etc/openqa
ln -s %{_sysconfdir}/openqa/database.ini
%{buildroot}%{_datadir}/openqa/etc/openqa/database.ini
mkdir -p %{buildroot}%{_bindir}
ln -s %{_datadir}/openqa/script/client %{buildroot}%{_bindir}/openqa-client
+ln -s %{_datadir}/openqa/script/openqa-cli %{buildroot}%{_bindir}/openqa-cli
ln -s %{_datadir}/openqa/script/openqa-clone-job %{buildroot}%{_bindir}/openqa-clone-job
ln -s %{_datadir}/openqa/script/dump_templates
%{buildroot}%{_bindir}/openqa-dump-templates
ln -s %{_datadir}/openqa/script/load_templates
%{buildroot}%{_bindir}/openqa-load-templates
@@ -337,7 +356,10 @@ export LC_ALL=en_US.UTF-8
touch openqa-debug.log autoinst-log.txt
chmod a+w openqa-debug.log autoinst-log.txt
# we can't use 'unshare' in Fedora package build env
-sed -i -e 's,unshare -r -n ,,g' t/40-script_openqa-clone-custom-git-refspec.t
t/40-openqa-clone-job.t
+sed -i -e 's,unshare -r -n ,,g' t/40-script_openqa-clone-custom-git-refspec.t
t/40-openqa-clone-job.t t/32-openqa_client-script.t
+# this test expects a 'not connected' error that it gets with unshare
+# but with mock we get 'Connection refused', so just wipe it
+sed -i -e '/fails without network/d' t/32-openqa_client-script.t
# Skip tests not working currently, or flaky
rm t/25-cache-service.t t/17-labels_carry_over.t
@@ -436,7 +458,6 @@ fi
%{_datadir}/openqa/dbicdh
%{_datadir}/openqa/assets
%dir %{_datadir}/openqa/script
-%{_datadir}/openqa/script/check_dependencies
%{_datadir}/openqa/script/create_admin
%{_datadir}/openqa/script/fetchneedles
%{_datadir}/openqa/script/initdb
@@ -541,6 +562,7 @@ fi
%{_datadir}/openqa/script/clone_job.pl
%{_datadir}/openqa/script/dump_templates
%{_datadir}/openqa/script/load_templates
+%{_datadir}/openqa/script/openqa-cli
%{_datadir}/openqa/script/openqa-clone-job
%{_datadir}/openqa/script/openqa-clone-custom-git-refspec
%{_datadir}/openqa/script/openqa-validate-yaml
@@ -550,6 +572,7 @@ fi
%{_datadir}/openqa/lib/OpenQA/Client
%{_datadir}/openqa/lib/OpenQA/UserAgent.pm
%{_bindir}/openqa-client
+%{_bindir}/openqa-cli
%{_bindir}/openqa-clone-job
%{_bindir}/openqa-dump-templates
%{_bindir}/openqa-load-templates
@@ -579,6 +602,11 @@ fi
%{_datadir}/openqa/lib/OpenQA/WebAPI/Plugin/FedoraUpdateRestart.pm
%changelog
+* Wed Apr 29 2020 Adam Williamson <awilliam(a)redhat.com> -
4.6-49.20200429git46234f9
+- Bump to latest git
+- Resync spec with upstream
+- Backport PR #3017: missing asset check shouldn't use 'hidden' asset
attribute
+
* Sat Apr 18 2020 Adam Williamson <awilliam(a)redhat.com> -
4.6-48.20200415git7160d88
- Backport PR #2955 to fix broken load_templates --clean
diff --git a/sources b/sources
index 7806994..04f7ca5 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (openQA-7160d88d931d9706ba1e55d66fd9f0ea5d9377b0.tar.gz) =
55c75bbf148b0cc1360f1ec5cd3d7eeb520d171b79a47c31b5e943495dd5607ed0b4d72f694933f435b8c026a11083ff2f6ec229d4f45db77be3aa197d014f6c
-SHA512 (assetcache-7160d88d931d9706ba1e55d66fd9f0ea5d9377b0.tar.xz) =
75711f1242f2bba05d3625f90c4403fd85e04265814b72e58db542875d5e4eecbd10a374f4d4f5f232ef05dec15ff7bd7436c132372119d49fed0a8e03bffda8
+SHA512 (openQA-46234f90c3852646b7f80b88dcb9d8e5dca07f10.tar.gz) =
8674b1555f070596d3dc5a55388a212758c89627c9d1f037ca9845705ec3d419209c378d5dba880fc2c184c9877c4cbc67fba2e468f3b8fbad93e0d45c9b2086
+SHA512 (assetcache-46234f90c3852646b7f80b88dcb9d8e5dca07f10.tar.xz) =
01d51e33c1eb59898fdc9b8e7dd52a11146a302af441b61512bafe03b4a80806d7224d22c663a1c9c2d13fd74f30430cb837de2584790dd12b5c9bf45a772503
https://src.fedoraproject.org/rpms/openqa/c/f13e41ed86059006cd386ce1e9cb4...