Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Mojolicious-Plugin-AssetPack
for openSUSE:Factory checked in at 2023-02-08 17:20:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack (Old)
and
/work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new.4462 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious-Plugin-AssetPack"
Wed Feb 8 17:20:50 2023 rev:48 rq:1063835 version:2.14
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack/perl-Mojolicious-Plugin-AssetPack.changes
2021-03-18 22:54:45.699519239 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new.4462/perl-Mojolicious-Plugin-AssetPack.changes
2023-02-08 17:21:16.114230448 +0100
@@ -1,0 +2,6 @@
+Wed Feb 8 10:32:17 UTC 2023 - OndÅej Súkup <[email protected]>
+
+- updated to 2.14
+* added support for retry during download assets
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-Plugin-AssetPack-2.13.tar.gz
New:
----
Mojolicious-Plugin-AssetPack-2.14.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious-Plugin-AssetPack.spec ++++++
--- /var/tmp/diff_new_pack.KIcGeF/_old 2023-02-08 17:21:16.614232902 +0100
+++ /var/tmp/diff_new_pack.KIcGeF/_new 2023-02-08 17:21:16.618232921 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Mojolicious-Plugin-AssetPack
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define cpan_name Mojolicious-Plugin-AssetPack
Name: perl-Mojolicious-Plugin-AssetPack
-Version: 2.13
+Version: 2.14
Release: 0
Summary: Compress and convert CSS, Less, Sass, JavaScript and
CoffeeScript files
License: Artistic-2.0
++++++ Mojolicious-Plugin-AssetPack-2.13.tar.gz ->
Mojolicious-Plugin-AssetPack-2.14.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mojolicious-Plugin-AssetPack-2.13/.github/workflows/linux.yml
new/Mojolicious-Plugin-AssetPack-2.14/.github/workflows/linux.yml
--- old/Mojolicious-Plugin-AssetPack-2.13/.github/workflows/linux.yml
2021-03-11 00:08:15.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/.github/workflows/linux.yml
2021-10-29 21:01:54.000000000 +0200
@@ -29,6 +29,7 @@
- name: Install dependencies
run: |
cpanm -n --installdeps .
+ cpanm -n CSS::Minifier::XS JavaScript::Minifier::XS
cpanm -n Test::Pod Test::Pod::Coverage
- name: Run tests
run: prove -l t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mojolicious-Plugin-AssetPack-2.13/.mergify/config.yml
new/Mojolicious-Plugin-AssetPack-2.14/.mergify/config.yml
--- old/Mojolicious-Plugin-AssetPack-2.13/.mergify/config.yml 2021-03-11
00:08:15.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/.mergify/config.yml 2021-10-29
21:01:54.000000000 +0200
@@ -4,13 +4,13 @@
- "#approved-reviews-by>=2"
- "#changes-requested-reviews-by=0"
- label!=work in progress
- - base=master
+ - base=main
actions:
merge:
method: merge
- name: remove outdated reviews
conditions:
- - base=master
+ - base=main
actions:
dismiss_reviews: {}
- name: ask to resolve conflict
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-2.13/Changes
new/Mojolicious-Plugin-AssetPack-2.14/Changes
--- old/Mojolicious-Plugin-AssetPack-2.13/Changes 2021-03-13
17:55:56.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/Changes 2023-01-27
16:33:22.000000000 +0100
@@ -1,4 +1,7 @@
+2.14 2023-01-27
+ - Added support for multiple download attempts for assets that need to be
fetched.
+
2.13 2021-03-13
- Restored documentation.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-2.13/MANIFEST
new/Mojolicious-Plugin-AssetPack-2.14/MANIFEST
--- old/Mojolicious-Plugin-AssetPack-2.13/MANIFEST 2021-03-13
17:57:15.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/MANIFEST 2023-01-27
17:38:44.000000000 +0100
@@ -77,6 +77,7 @@
t/favicon.t
t/fetch-all.t
t/fetch-hash.t
+t/fetch-retry.t
t/fetch-source-map.t
t/font-awesome.t
t/from-helper.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-2.13/META.json
new/Mojolicious-Plugin-AssetPack-2.14/META.json
--- old/Mojolicious-Plugin-AssetPack-2.13/META.json 2021-03-13
17:57:15.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/META.json 2023-01-27
17:38:44.000000000 +0100
@@ -4,7 +4,7 @@
"Sebastian Riedel <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter
version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter
version 2.150010",
"license" : [
"artistic_2"
],
@@ -55,6 +55,6 @@
"web" : "https://github.com/mojolicious/mojo-assetpack"
}
},
- "version" : "2.13",
- "x_serialization_backend" : "JSON::PP version 4.06"
+ "version" : "2.14",
+ "x_serialization_backend" : "JSON::PP version 4.07"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-2.13/META.yml
new/Mojolicious-Plugin-AssetPack-2.14/META.yml
--- old/Mojolicious-Plugin-AssetPack-2.13/META.yml 2021-03-13
17:57:15.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/META.yml 2023-01-27
17:38:44.000000000 +0100
@@ -8,7 +8,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.60, CPAN::Meta::Converter version
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version
2.150010'
license: artistic_2
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -26,5 +26,5 @@
bugtracker: https://github.com/mojolicious/mojo-assetpack/issues
homepage: https://github.com/mojolicious/mojo-assetpack
repository: https://github.com/mojolicious/mojo-assetpack.git
-version: '2.13'
+version: '2.14'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mojolicious-Plugin-AssetPack-2.13/lib/Mojolicious/Plugin/AssetPack/Store.pm
new/Mojolicious-Plugin-AssetPack-2.14/lib/Mojolicious/Plugin/AssetPack/Store.pm
---
old/Mojolicious-Plugin-AssetPack-2.13/lib/Mojolicious/Plugin/AssetPack/Store.pm
2021-03-11 00:08:15.000000000 +0100
+++
new/Mojolicious-Plugin-AssetPack-2.14/lib/Mojolicious/Plugin/AssetPack/Store.pm
2023-01-27 16:32:25.000000000 +0100
@@ -8,6 +8,7 @@
use Mojolicious::Types;
use Mojolicious::Plugin::AssetPack::Asset;
use Mojolicious::Plugin::AssetPack::Util qw(diag checksum has_ro DEBUG);
+use Time::HiRes qw(sleep);
use constant CACHE_DIR => 'cache';
@@ -26,6 +27,8 @@
has default_headers => sub { +{"Cache-Control" => "max-age=31536000"} };
has fallback_headers => sub { +{"Cache-Control" => "max-age=60"} };
has fallback_templates => sub { +{%FALLBACK_TEMPLATES} };
+has retry_delay => 3;
+has retries => 0;
has _types => sub {
my $t = Mojolicious::Types->new;
@@ -257,14 +260,22 @@
return $asset if $attrs{url}->host ne 'local' and $asset =
$self->_already_downloaded($url);
- my $tx = $self->ua->get($url);
- my $h = $tx->res->headers;
+ my $tx;
+ my $retries = $self->retries;
+ while (1) {
+ $tx = $self->ua->get($url);
+ last unless my $err = $tx->error;
+
+ if ($retries-- > 0) {
+ sleep $self->retry_delay;
+ next;
+ }
- if (my $err = $tx->error) {
$self->_log->warn("[AssetPack] Unable to download $url: $err->{message}");
return undef;
}
+ my $h = $tx->res->headers;
my $ct = $h->content_type || '';
if ($ct ne 'text/plain') {
$ct =~ s!;.*$!!;
@@ -388,6 +399,20 @@
See L<Mojolicious::Static/paths> for details.
+=head2 retry_delay
+
+ my $delay = $self->retry_delay;
+ $self = $self->retry_delay(0.5);
+
+Delay in seconds between download attempts for assets that need to be fetched,
defaults to C<3>.
+
+=head2 retries
+
+ my $retries = $self->retries;
+ $self = $self->retries(5);
+
+Number of times asset downloads will be attempted for assets that need to be
fetched, defaults to C<0>.
+
=head2 ua
$ua = $self->ua;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Mojolicious-Plugin-AssetPack-2.13/lib/Mojolicious/Plugin/AssetPack.pm
new/Mojolicious-Plugin-AssetPack-2.14/lib/Mojolicious/Plugin/AssetPack.pm
--- old/Mojolicious-Plugin-AssetPack-2.13/lib/Mojolicious/Plugin/AssetPack.pm
2021-03-13 17:55:35.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/lib/Mojolicious/Plugin/AssetPack.pm
2023-01-27 15:16:26.000000000 +0100
@@ -6,7 +6,7 @@
use Mojolicious::Plugin::AssetPack::Store;
use Mojolicious::Plugin::AssetPack::Util qw(diag has_ro load_module DEBUG);
-our $VERSION = '2.13';
+our $VERSION = '2.14';
has minify => sub { shift->_app->mode eq 'development' ? 0 : 1 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-2.13/t/fetch-retry.t
new/Mojolicious-Plugin-AssetPack-2.14/t/fetch-retry.t
--- old/Mojolicious-Plugin-AssetPack-2.13/t/fetch-retry.t 1970-01-01
01:00:00.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/t/fetch-retry.t 2023-01-27
16:32:25.000000000 +0100
@@ -0,0 +1,47 @@
+use lib '.';
+use t::Helper;
+
+use Mojo::IOLoop;
+use Mojo::Server::Daemon;
+use Mojolicious;
+
+my $t = t::Helper->t(pipes => [qw(Css Fetch)]);
+
+my $app = Mojolicious->new;
+$app->config->{attempts} = 0;
+$app->routes->get(
+ '/test.css' => sub {
+ my $c = shift;
+ return $c->render(data => 'Internal server error', status => 500) if
$c->app->config->{attempts}++ <= 2;
+ $c->render(data => 'body { color: #00f }');
+ }
+);
+my $responses = [];
+$app->hook(
+ before_dispatch => sub {
+ shift->on(finish => sub { push @$responses, shift->res->code });
+ }
+);
+my $daemon = Mojo::Server::Daemon->new(listen => ['http://*'], ioloop =>
$t->app->asset->ua->ioloop, app => $app);
+my $port = $daemon->start->ports->[0];
+
+subtest 'Defaults' => sub {
+ is $t->app->asset->store->retries, 0, 'no retries by default';
+ is $t->app->asset->store->retry_delay, 3, '3 second retry delay by default';
+};
+
+subtest 'Download asset with multiple attempts' => sub {
+ $t->app->asset->store->retries(3)->retry_delay(0.1);
+ $t->app->asset->process('app.css' => "http://127.0.0.1:$port/test.css");
+
+ $t->get_ok('/')->status_is(200)->content_like(qr{Hello world});
+
$t->get_ok($t->tx->res->dom->at('link')->{href})->status_is(200)->content_like(qr{body.+color.+00f});
+ is_deeply $responses, [500, 500, 500, 200], 'right responses';
+};
+
+done_testing;
+
+__DATA__
+@@ index.html.ep
+%= asset 'app.css'
+Hello world
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-2.13/t/register.t
new/Mojolicious-Plugin-AssetPack-2.14/t/register.t
--- old/Mojolicious-Plugin-AssetPack-2.13/t/register.t 2021-03-11
00:08:15.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-2.14/t/register.t 2023-01-27
15:17:13.000000000 +0100
@@ -11,7 +11,7 @@
delete $t->app->log->{$_} for qw(path handle);
$t->app->plugin(AssetPack => {helper => 'foo', pipes => ['Css']});
isa_ok $t->app->foo, 'Mojolicious::Plugin::AssetPack';
-is $t->app->foo->ua->server->app, $t->app, 'app';
+is $t->app->foo->ua->server->app, $t->app, 'app';
is $t->app->foo->ua->proxy->http, 'example.com', 'proxy http';
$t->app->foo->process('x.css' => 'a.css');