Difference between revisions of "Release process"
From collectd Wiki
(Add wiki2changelog.pl) |
m |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 5: | Line 5: | ||
#* Write from a user's point of view. For example: <span style="color: darkgreen;">"Support for recent versions of ''gcrypt'' has been added."</span> rather than <span style="color: maroon;">"don't enable gcrypt thread callbacks when gcrypt recent enough"</span>. | #* Write from a user's point of view. For example: <span style="color: darkgreen;">"Support for recent versions of ''gcrypt'' has been added."</span> rather than <span style="color: maroon;">"don't enable gcrypt thread callbacks when gcrypt recent enough"</span>. | ||
#* Write in the past tense, use passive form. For example: "Support for X has been added.", "The Y option has been added." | #* Write in the past tense, use passive form. For example: "Support for X has been added.", "The Y option has been added." | ||
− | # Convert the ChangeLog entry to plain-text and add it to the top of {{GitFile|ChangeLog}}. [[ | + | # Convert the ChangeLog entry to plain-text and add it to the top of {{GitFile|ChangeLog}}. See [[#wiki2changelog.pl]] below. |
# Increase the version number in {{GitFile|version-gen.sh}}. | # Increase the version number in {{GitFile|version-gen.sh}}. | ||
# Commit and call <code>./build.sh</code> so autoconf picks up the new version number. | # Commit and call <code>./build.sh</code> so autoconf picks up the new version number. | ||
+ | # Tag the commit with <code>git tag --sign collectd-X.Y.Z</code> or <code>git tag --sign collectd-X.Y.Z-rc0</code> | ||
# Build tarballs with <code>make distcheck</code> | # Build tarballs with <code>make distcheck</code> | ||
# Upload tarballs; make sure files are world-readable. | # Upload tarballs; make sure files are world-readable. | ||
− | # Update <code> | + | # Update <code>SHA256SUM</code> and friends. |
# Change links on the download page and in the left-hand menu. | # Change links on the download page and in the left-hand menu. | ||
− | # Convert the ChangeLog entry to HTML and update the ''News'' page. [[ | + | # Convert the ChangeLog entry to HTML and update the ''News'' page. See [[#wiki2html.pl]] below. |
+ | # Update the [https://github.com/collectd/collectd/releases releases page] on github. | ||
# Update the topic in the IRC channel. | # Update the topic in the IRC channel. | ||
# Make noise (Twitter, Google+, …) | # Make noise (Twitter, Google+, …) | ||
Line 45: | Line 47: | ||
} | } | ||
</source> | </source> | ||
+ | |||
+ | == wiki2html.pl == | ||
+ | |||
+ | <source lang="perl"> | ||
+ | #!/usr/bin/perl | ||
+ | |||
+ | use strict; | ||
+ | use warnings; | ||
+ | |||
+ | while (<>) | ||
+ | { | ||
+ | chomp; | ||
+ | |||
+ | s#^\* ##; | ||
+ | s#'''([^']+)'''#<strong>$1</strong>#g; | ||
+ | s#''([^']+)''#<em>$1</em>#g; | ||
+ | |||
+ | s#\[\[([^\|\]]+)\|([^\]]+)\]\]#<a href="/wiki/index.php/$1">$2</a>#g; | ||
+ | s#{{Plugin\|([^}]+)}}#<a href="/wiki/index.php/Plugin:$1">$1 plugin</a>#g; | ||
+ | s#{{Issue\|([^}]+)}}#<a href="https://github.com/collectd/collectd/issues/$1">\#$1</a>#g; | ||
+ | |||
+ | print "$_<br />\n"; | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | [[Category:Development]] |
Latest revision as of 15:38, 19 March 2020
This page is meant as a rough guide for doing a collectd release.
- Start writing a ChangeLog. This is easiest when writing the changelog in the wiki, e.g. at Version 5.4.
- I usually get a list of all commits (
git log collectd-5.4.1..collectd-5.4
), go through this commit-by-commit. - Write from a user's point of view. For example: "Support for recent versions of gcrypt has been added." rather than "don't enable gcrypt thread callbacks when gcrypt recent enough".
- Write in the past tense, use passive form. For example: "Support for X has been added.", "The Y option has been added."
- I usually get a list of all commits (
- Convert the ChangeLog entry to plain-text and add it to the top of ChangeLog. See #wiki2changelog.pl below.
- Increase the version number in version-gen.sh.
- Commit and call
./build.sh
so autoconf picks up the new version number. - Tag the commit with
git tag --sign collectd-X.Y.Z
orgit tag --sign collectd-X.Y.Z-rc0
- Build tarballs with
make distcheck
- Upload tarballs; make sure files are world-readable.
- Update
SHA256SUM
and friends. - Change links on the download page and in the left-hand menu.
- Convert the ChangeLog entry to HTML and update the News page. See #wiki2html.pl below.
- Update the releases page on github.
- Update the topic in the IRC channel.
- Make noise (Twitter, Google+, …)
wiki2changelog.pl
#!/usr/bin/perl
use strict;
use warnings;
while (<>)
{
s#'''##g;
s#''##g;
s#<code>([^<]+)</code>#"$1"#g;
s#\[\[[^\|\]]+\|([^\]]+)\]\]#$1#g;
s#{{Plugin\|([^}]+)}}#plugin($1)#ge;
s/{{Issue\|([^}]+)}}/#$1/g;
print "\t$_";
}
sub plugin
{
$_ = lc ($_[0]);
s/\s/_/g;
return "$_ plugin";
}
wiki2html.pl
#!/usr/bin/perl
use strict;
use warnings;
while (<>)
{
chomp;
s#^\* ##;
s#'''([^']+)'''#<strong>$1</strong>#g;
s#''([^']+)''#<em>$1</em>#g;
s#\[\[([^\|\]]+)\|([^\]]+)\]\]#<a href="/wiki/index.php/$1">$2</a>#g;
s#{{Plugin\|([^}]+)}}#<a href="/wiki/index.php/Plugin:$1">$1 plugin</a>#g;
s#{{Issue\|([^}]+)}}#<a href="https://github.com/collectd/collectd/issues/$1">\#$1</a>#g;
print "$_<br />\n";
}