Browse Source

Automatically generate release team and handle 2-digit minor versions

jcamins
Jared Camins-Esakov 9 years ago
parent
commit
7fddb4d3e8
  1. 32
      get_bugs.pl
  2. 38
      release_notes_tmpl.tt
  3. 19
      release_team_3.10.tt
  4. 10
      release_team_3.6.tt
  5. 12
      release_team_3.8.tt

32
get_bugs.pl

@ -27,6 +27,7 @@ use Template;
use File::Basename;
use File::Spec;
use lib('.');
use encoding('utf8');
# TODO:
# 1. Paramatize!
@ -74,19 +75,25 @@ my $tt = Template->new(
);
my %arguments;
die "No usable version" unless $version =~ m/(\d)\.\d(\d)\.\d(\d)(\.\d+)?(-\w*)?/g;
$arguments{shortversion} = "$1.$2.$3";
$arguments{shortversion} .= "$5" if ($5);
$arguments{expandedversion} = "$1.0$2.0$3";
$arguments{expandedversion} .= "$5" if ($5);
$arguments{major} = "$1." . ($2 % 2 ? $2 + 1 : $2);
$arguments{lastmajor} = "$1." . ($2 - 2);
$arguments{nextmajor} = "$1." . ($2 % 2 ? $2 + 1 : $2 + 2) . ".0";
die "No usable version" unless $version =~ m/(\d)\.(\d\d)\.(\d\d)(\.\d+)?(-\w*)?/g;
my $major = $1;
my $minor = $2;
my $release = $3;
my $expanded_minor = $2;
my $expanded_release = $3;
my $additional = $5;
$minor =~ s/^0*(\d+)$/$1/;
$release =~ s/^0*(\d+)$/$1/;
$arguments{shortversion} = "$major.$minor.$release";
$arguments{shortversion} .= "$additional" if ($additional);
$arguments{expandedversion} = "$major.$expanded_minor.$expanded_release";
$arguments{expandedversion} .= "$additional" if ($additional);
$arguments{line} = "$major." . ($minor % 2 ? $minor + 1 : $minor);
$template = "release_notes_tmpl.tt" unless $template;
$rnotes = "misc/release_notes/release_notes_$1_$2_$3.txt" unless $rnotes;
$rnotes = "misc/release_notes/release_notes_${major}_${minor}_${release}.txt" unless $rnotes;
my $pootle = "http://translate.koha-community.org/projects/$arguments{major}/";
my $pootle = "http://translate.koha-community.org/projects/$major$minor/";
$pootle = "http://translate.koha-community.org/" unless defined(get($pootle));
my $translationpage = get($pootle);
@ -102,6 +109,8 @@ while ($translationpage =~ m#<td class="language">\W*<a[^>]*>([^<]*)</a>\W*</td>
$arguments{translations} = ' * ' . join("\n * ", sort(@translations)) . "\n" if @translations;
$arguments{releaseteam} = "release_team_$arguments{line}.tt";
print "Using template: $template and release notes file: $rnotes\n\n";
my $git_add = 1 unless -e "misc/release_notes/$rnotes";
@ -193,8 +202,11 @@ my @signer_list = map { $_->[1] }
map { [(split /\s+/, $_)[scalar(@signers = split /\s+/, $_)-1], $_] }
qx(git log $tag..$HEAD | grep 'Signed-off-by' | sed -e 's/^.*Signed-off-by: //' | sed -e 's/ <.*\$//' | sort -k3 - | uniq -c);
my @sponsor_list = qx(git log $tag..$HEAD | grep 'Sponsored-by' | sed -e 's/^.*Sponsored-by: //' | sort | uniq);
$arguments{contributors} = join "", @contributor_list;
$arguments{signers} = join "", @signer_list;
$arguments{sponsors} = ' * ' . join(" * ", sort(@sponsor_list)) if @sponsor_list;
$arguments{date} = strftime "%d %b %Y", gmtime;
# Add autogenerated blurb to the bottom

38
release_notes_tmpl.tt

@ -44,9 +44,10 @@ New sysprefs in [% shortversion %]
System requirements
======================
Changes since [% lastmajor %]:
Important notes:
* Perl 5.10 is required
* Zebra is required
Documentation
@ -60,7 +61,7 @@ home page for Koha documentation is
As of the date of these release notes, only the English version of the
Koha manual is available:
http://manual.koha-community.org/[% major %]/en/
http://manual.koha-community.org/[% line %]/en/
The Git repository for the Koha manual can be found at
@ -91,41 +92,25 @@ The most up-to-date translations can be found at:
http://translate.koha-community.org/
[%- IF releaseteam %]
Release Team
======================
The release team for Koha [% major %] is
Release Manager: Chris Cormack <chrisc@catalyst.net.nz>
Documentation Manager: Nicole C Engard <nengard@gmail.com>
Translation Manager: Frédéric Demians <frederic@tamil.fr>
QA Manager: Ian Walls <ian.walls@bywatersolutions.com>
Bug Wranglers: MJ Ray, Marcel de Rooy, Paul Poulain, Mason James
Past Release Maintainer (3.6.x):
Chris Nighswonger <cnighswonger@foundations.edu>
Release Maintainer (3.6.x):
Jared Camins-Esakov <jcamins@cpbibliography.com>
The release team for Koha [% line %] is
[% INSERT $releaseteam %]
[% END -%]
Credits
======================
[% IF sponsors %]
We thank the following libraries who are known to have sponsored
new features in Koha [% major %]:
* Los Gatos Public Library
* NEKLS
* East Brunswick Public Library
* Athens County Public Libraries
* Horowhenua Library Trust
* Halton Borough Council
* South Taranaki District Council
new features in Koha [% line %]:
[% sponsors -%]
[% END -%]
[%- IF contributors %]
We thank the following individuals who contributed patches to Koha [% shortversion %].
[% contributors %]
[% END -%]
@ -151,7 +136,6 @@ The branch for this version of Koha and future bugfixes in this release
line is [% branch %].
The last Koha release was [% lastrelease %], which was released on [% lastreleasedate %].
The next major feature release of Koha will be Koha [% nextmajor %].
Bugs and feature requests
======================

19
release_team_3.10.tt

@ -0,0 +1,19 @@
Release Manager: Paul Poulain <paul.poulain@biblibre.com>
Documentation Manager: Nicole C Engard <nengard@gmail.com>
Translation Manager: Frédéric Demians <frederic@tamil.fr>
Translation Team: Katrin Fischer <Katrin.Fischer@bsz-bw.de>,
Marijana Glavica <mglavica@ffzg.hr>
QA Manager: Ian Walls <koha.sekjal@gmail.com>
QA Team: Marcel de Rooy <M.de.Rooy@rijksmuseum.nl>,
Jonathan Druart <jonathan.druart@biblibre.com>,
Mason James <mtj@kohaaloha.com>
Bug Wranglers: Magnus Enger <magnus@enger.priv.no>,
Katrin Fischer <Katrin.Fischer@bsz-bw.de>,
Dobrica Pavlinušić <dpavlin@rot13.org>
Packaging Manager: Robin Sheat <robin@catalyst.net.nz>
Packaging Assistant: Mason James <mtj@kohaaloha.com>
Release Maintainer (3.4.x): Chris Nighswonger <cnighswonger@foundations.edu>
Release Maintainer (3.6.x): Jared Camins-Esakov <jcamins@cpbibliography.com>
Release Maintainer (3.8.x): Chris Cormack <chrisc@catalyst.net.nz>

10
release_team_3.6.tt

@ -0,0 +1,10 @@
Release Manager: Chris Cormack <chrisc@catalyst.net.nz>
Documentation Manager: Nicole C Engard <nengard@gmail.com>
Translation Manager: Frédéric Demians <frederic@tamil.fr>
QA Manager: Ian Walls <ian.walls@bywatersolutions.com>
Bug Wranglers: MJ Ray, Marcel de Rooy, Paul Poulain, Mason James
Past Release Maintainer (3.6.x):
Chris Nighswonger <cnighswonger@foundations.edu>
Release Maintainer (3.6.x):
Jared Camins-Esakov <jcamins@cpbibliography.com>

12
release_team_3.8.tt

@ -0,0 +1,12 @@
Release Manager: Paul Poulain <paul.poulain@biblibre.com>
Documentation Manager: Nicole C Engard <nengard@gmail.com>
Translation Manager: Frédéric Demians <frederic@tamil.fr>
QA Manager: Ian Walls <koha.sekjal@gmail.com>
QA team: Marcel de Rooy <M.de.Rooy@rijksmuseum.nl>,
Jonathan Druart <jonathan.druart@biblibre.com>
Bug Wranglers: Katrin Fischer, Magnus Enger
Release Maintainer (3.4.x): Chris Nighswonger <cnighswonger@foundations.edu>
Release Maintainer (3.6.x): Jared Camins-Esakov <jcamins@cpbibliography.com>
Release Maintainer (3.8.x): Chris Cormack <chrisc@catalyst.net.nz>
Loading…
Cancel
Save