Note that we invest a great deal of effort into automating the release process by building a continuous delivery pipeline that runs on Jenkins. Further we have moved our codebase from SVN over to GIT and therefore large parts of this howto are no longer up do date!
This document is a work in progress and was created in parallel to the release of Apache log4net 1.2.11 and adapted for 2.0.6.
old-log4net.snk.gpg
to old-log4net.snk
Make sure the correct version number (2.0.6 right now) is in all the required places. [yes, there is a lot of duplication]
log4net.build
: <property name="package.version" value="2.0.6"/>
pom.xml
: <version>2.0.6</version>
log4net.nuspec
: <version>2.0.6</version>
log4net.shfbproj
: <HtmlHelpName>log4net-sdk-2.0.6</HtmlHelpName>
src/AssemblyInfo.cs
: many, many AssemblyInformationalVersionAttributesrc/AssemblyVersionInfo.cpp
as well as .cs
, .vb
and .js
- twice in each file. These files also hold the assembly's copyright statement. Make sure it includes the current year.src/Log4netAssemblyInfo.cs
: public const string Version = "2.0.6"
src/site/xdocs/download_log4net.xml
: many timesnetstandard/log4net/project.json
: “version”: “2.0.6”,netstandard/log4net.tests/project.json
: “version”: “2.0.6”,Create the site using “nant generate-site” in order to create the RAT report as a side-effect and fix all files that don't have the proper license header.
Make sure NOTICE corresponds to the general format of, in particular, check that {latest} is the current year.
Apache log4net Copyright 2004-{latest} The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/).
src/site/xdocs/release/release-notes.xml
in a new section for the new release and massage it to your liking.$ svn cp -r 1775235 \ https://svn.apache.org/repos/asf/logging/log4net/trunk \ https://svn.apache.org/repos/asf/logging/log4net/tags/2.0.6RC1
old-log4net.snk
to the root directory.nant
old-log4net.snk
as well as nuget.exe
to the root directory.bin/mono
nant
nant package
$ for i in log4net?2.0.6*; do \ md5sum $i > $i.md5 \ sha1sum $i > $i.sha1 \ sha256sum $i > $i.sha256 \ gpg --detach-sign --armor $i; done
README.html
based on the release-notes.home.apache.org
is a good optionlog4net 2.0.6 RC1 is available for review here: https://dist.apache.org/repos/dist/dev/logging/log4net (revision 17495) Details of changes since 1.2.15 are in the release notes: http://stefan.samaflost.de/staging/log4net-2.0.6/release/release-notes.html I have tested this with Mono and several .NET frameworks using NAnt. The tag is here: https://svn.apache.org/repos/asf/logging/log4net/tags/2.0.6RC1 (revision 1775236) Site: http://stefan.samaflost.de/staging/log4net-2.0.6/ RAT Report: http://stefan.samaflost.de/staging/log4net-2.0.6/rat-report.html Nuget Package: https://www.myget.org/feed/log4net-test/package/nuget/log4net Votes, please. This vote will close in 72 hours, 1000 GMT 24-Dec 2016 [ ] +1 Release these artifacts [ ] +0 OK, but... [ ] -0 OK, but really should fix... [ ] -1 I oppose this release because... Thanks!
README.html
holding just the latest news from release-notes.html
and svn commit it to https://dist.apache.org/repos/dist/release/logging/log4net$ svn cp -m "1.2.14 release has been accepted" \ https://svn.apache.org/repos/asf/logging/log4net/tags/1.2.14RC1 \ https://svn.apache.org/repos/asf/logging/log4net/tags/1.2.14
.htaccess
files and 2.x/2.0.x symlinks in https://svn.apache.org/repos/infra/websites/production/logging/content/log4net so they point at your new directory.download_log4net.html
file from the new directory to https://svn.apache.org/repos/infra/websites/production/logging/content/log4net