Author: cbrisson
Date: Sat Oct 13 13:55:22 2018
New Revision: 1843756
URL: http://svn.apache.org/viewvc?rev=1843756&view=rev
Log:
[site] Update release process page (prod)
Modified:
velocity/site/production/release-process.html
Modified: velocity/site/production/release-process.html
URL:
http://svn.apache.org/viewvc/velocity/site/production/release-process.html?rev=1843756&r1=1843755&r2=1843756&view=diff
==============================================================================
--- velocity/site/production/release-process.html (original)
+++ velocity/site/production/release-process.html Sat Oct 13 13:55:22 2018
@@ -230,8 +230,8 @@ h2:hover > .headerlink, h3:hover > .head
<h3 id="prerequisites">Prerequisites<a class="headerlink"
href="#prerequisites" title="Permanent link">¶</a></h3>
<p>To create a release you have to install:</p>
<ul>
-<li><a
href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java
Development Kit 6</a></li>
-<li><a href="http://maven.apache.org/">Maven 2</a></li>
+<li><a
href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java
Development Kit 8</a></li>
+<li><a href="http://maven.apache.org/">Maven 3</a></li>
<li><a href="http://www.gnupg.org/">GnuPG</a></li>
<li><a href="http://www.openssh.com/}OpenSSH">OpenSSH</a></li>
</ul>
@@ -248,35 +248,11 @@ h2:hover > .headerlink, h3:hover > .head
<p>Publish your GPG key in a PGP key server, such as <a
href="http://pgp.mit.edu/">MIT Keyserver</a>.</p>
</li>
<li>
-<p>Create and upload yout SSH key</p>
-</li>
-<li>
-<p>Generate your SSH key (in this case we will use RSA encryption):</p>
-<div class="codehilite"><pre>ssh-keygen -t rsa
-</pre></div>
-
-
-</li>
-<li>
-<p>Copy your public key to the server:</p>
-<div class="codehilite"><pre>scp ~/.ssh/id_rsa.pub
[email protected]:.ssh/authorized_keys
-</pre></div>
-
-
-</li>
-<li>
-<p>Try to login:</p>
-<div class="codehilite"><pre>ssh [email protected]
-</pre></div>
-
-
-<p>If it does not ask you a password, everything is ok.</p>
-</li>
-<li>
<p>Modify <code>settings.xml</code></p>
<p>Your <code>settings.xml</code> must be modified to allow deployment.</p>
<p>This is the minimal configuration, obviously if you already have a
<code>settings.xml</code> file, you must edit it:</p>
-<div class="codehilite"><pre><span class="nt"><settings</span> <span
class="na">xmlns=</span><span
class="s">"http://maven.apache.org/POM/4.0.0"</span>
+<div class="codehilite"><pre> :::xml
+<span class="nt"><settings</span> <span class="na">xmlns=</span><span
class="s">"http://maven.apache.org/POM/4.0.0"</span>
<span class="na">xmlns:xsi=</span><span
class="s">"http://www.w3.org/2001/XMLSchema-instance"</span>
<span class="na">xsi:schemaLocation=</span><span
class="s">"http://maven.apache.org/POM/4.0.0</span>
<span class="s">
http://maven.apache.org/xsd/settings-1.0.0.xsd"</span><span
class="nt">></span>
@@ -300,8 +276,9 @@ h2:hover > .headerlink, h3:hover > .head
<span class="nt"></servers></span>
<span class="nt"><profiles></span>
<span class="nt"><profile></span>
- <span class="nt"><id></span>release<span
class="nt"></id></span>
+ <span class="nt"><id></span>apache-release<span
class="nt"></id></span>
<span class="nt"><properties></span>
+ <span class="nt"><gpg.keyname></span>YOUR_KEY_NAME<span
class="nt"></gpg.keyname></span>
<span class="nt"><gpg.passphrase></span>YOUR_SECRET_PHRASE<span
class="nt"></gpg.passphrase></span>
<span class="nt"></properties></span>
<span class="nt"></profile></span>
@@ -319,24 +296,28 @@ h2:hover > .headerlink, h3:hover > .head
<li>
<p>Archive the previous release candidate</p>
<p>If it's not the first release candidate you're trying to release, you
should archive the previous release candidate. For instance:</p>
-<div class="codehilite"><pre>svn mv ci -m "[engine] archive engine 2.0
RC4"
https://[email protected]/repos/asf/velocity/engine/tags/2.0
https://[email protected]/repos/asf/velocity/engine/tags/2.0-RC4
+<div class="codehilite"><pre>svn mv ci -m <span class="s2">"[engine]
archive engine 2.0 RC4"</span>
https://[email protected]/repos/asf/velocity/engine/tags/2.0
https://[email protected]/repos/asf/velocity/engine/tags/2.0-RC4
</pre></div>
<p>And don't forget to also drop the staged artifact.</p>
+<p>Of course, you will also have to revert the automated commits from the
previous <code>mvn release:*</code> commands.</p>
+</li>
+<li>
+<p>Complete and update the changelog source file
<code>src/changes/changes.xml</code> (note: we may get rid of this changelog in
the future since it is quite painful to maintain and seems highly redundant
with the JIRA release notes).</p>
</li>
<li>
<p>Prepare the release tag</p>
<p>To prepare the release Subversion tag, check out the branch/trunk from where
you are preparing the release and type:</p>
-<div class="codehilite"><pre>mvn release:prepare -Dusername=YOUR_SVN_USER
-Dpassword=YOUR_SVN_PASSWORD
+<div class="codehilite"><pre>mvn release:prepare -Dusername<span
class="o">=</span>YOUR_SVN_USER -Dpassword<span
class="o">=</span>YOUR_SVN_PASSWORD
</pre></div>
<p>The plugin interactively will ask you the version to release, the
Subversion tag to use and the next snapshot version. Rather than
<code>velocity-engine-parent-X.X</code> (the default), we tend to use X.X for
the tag name.</p>
</li>
<li>
-<p>Perform the Release</p>
+<p>Perform the release</p>
<p>To perform the release, i.e. creating and deploying Maven artifacts,
use:</p>
<div class="codehilite"><pre>mvn release:perform
</pre></div>
@@ -344,6 +325,33 @@ you are preparing the release and type:<
</li>
<li>
+<p>Stage the release</p>
+<p>Commit all poms (renamed from <code><module>/pom.xml</code> to
<code>module-<version>.pom</code>), binary, sources, javadoc jars in the
proper subdirectory of the <a
href="https://dist.apache.org/repos/dist/dev/velocity">release staging area</a>
svn repository, along with their signature files (*.asc), which have been
generated under the <code>target/checkout</code> folder.</p>
+</li>
+<li>
+<p>Provide sha-256 checksums</p>
+<p>Create sha-256 checksums for each pom/jar/asc file on the </p>
+<div class="codehilite"><pre><span class="k">for</span> file in *.jar *.asc
*.pom<span class="p">;</span> <span class="k">do</span> sha256sum < <span
class="nv">$file</span> > <span class="nv">$file</span>.sha256<span
class="p">;</span> <span class="k">done</span>
+</pre></div>
+
+
+<p>and add those files to the release staging area svn repository.</p>
+</li>
+<li>
+<p>Release the JIRA version</p>
+<ul>
+<li>
+<p>In JIRA go to the version that you want to release and release it.</p>
+</li>
+<li>
+<p>Create a new version, if it has not been done before.</p>
+</li>
+<li>
+<p>Create the JIRA release notes and <strong>copy the content</strong> inside
your pretty release notes HTML file, which is to be hosted under svn on the
same release staging area.</p>
+</li>
+</ul>
+</li>
+<li>
<p>Close the staging repository</p>
<p>Login to <a href="https://repository.apache.org">Nexus repository</a> using
your Apache LDAP credentials.</p>
<p>Click on "Staging". Then click on "velocity" in the list of
repositories.</p>
@@ -364,41 +372,45 @@ you are preparing the release and type:<
<p>Note the repository URL, you will need this in your vote email. </p>
</li>
<li>
-<p>Release the JIRA version</p>
-<ul>
-<li>
-<p>In JIRA go to the version that you want to release and release it.</p>
-</li>
-<li>
-<p>Create a new version, if it has not been done before.</p>
-</li>
-<li>
-<p>Create the release notes and <strong>write down the link</strong> that it
uses.</p>
-</li>
-</ul>
+<p>Prepare the site</p>
+<p>Copy the <code>/devel/</code> section to its <code><version></code>
section (but do not yet refence it from the menu)</p>
+<p>Generate the corresponding javadoc with</p>
+<div class="codehilite"><pre>mvn javadoc:aggregate
+</pre></div>
+
+
+<p>and commit the result in [VERSION]/apidocs</p>
+<p>Push those changes to production (see the <a
href="http://velocity.apache.org/site-building.html">Site Building</a>
page).</p>
</li>
<li>
<p>Send announcement for the test build</p>
-<div class="codehilite"><pre>In **developers mailing list** send an
announcement for the test build:
-
-Subject: [ANNOUNCE] Velocity Engine <span class="cp">${</span><span
class="n">version</span><span class="cp">}</span> test build available
+<p>In <strong>developers mailing list</strong> send an announcement for the
test build:</p>
+<p>(note: in all the following, ${module} refers to the module -Engine or
Tools- being released, ${version} to the version)</p>
+<div class="codehilite"><pre>Subject: [ANNOUNCE] Velocity <span
class="cp">${</span><span class="n">module</span><span class="cp">}</span>
<span class="cp">${</span><span class="n">version</span><span
class="cp">}</span> test build available
-The test build of Velocity Engine <span class="cp">${</span><span
class="n">version</span><span class="cp">}</span> is available.
+The test build of Velocity <span class="cp">${</span><span
class="n">module</span><span class="cp">}</span> <span
class="cp">${</span><span class="n">version</span><span class="cp">}</span> is
available.
-No determination as to the quality ('alpha,' 'beta,' or
'GA') of Velocity Engine <span class="cp">${</span><span
class="n">version</span><span class="cp">}</span> has been made, and at this
time it is simply a "test build". We welcome any comments you may
have, and will take all feedback into account if a quality vote is called for
this build.
+No determination as to the quality ('alpha,' 'beta,' or
'GA') of Velocity <span class="cp">${</span><span
class="n">module</span><span class="cp">}</span> <span
class="cp">${</span><span class="n">version</span><span class="cp">}</span> has
been made, and at this time it is simply a "test build". We welcome
any comments you may have, and will take all feedback into account if a quality
vote is called for this build.
Release notes:
-* <span class="cp">${</span><span class="n">jira</span><span
class="o">.</span><span class="n">release</span><span class="o">.</span><span
class="n">notes</span><span class="cp">}</span>
+* https://dist.apache.org/repos/dist/dev/velocity/.../release-notes.html
Distribution:
- * http://people.apache.org/builds/velocity-engine-parent/<span
class="cp">${</span><span class="n">version</span><span class="cp">}</span>/
+ * https://dist.apache.org/repos/dist/dev/velocity/.../
Maven 2 staging repository:
* https://repository.apache.org/content/repositories/velocity-[YOUR
REPOSITORY ID]/
+Documentation:
+
+* https://velocity.apache.org/<span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>/<span
class="cp">${</span><span class="n">version</span><span class="cp">}</span>
+Sources:
+
+ * https://svn.apache.org/repos/asf/velocity/<span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>/tags/<span
class="cp">${</span><span class="n">version</span><span class="cp">}</span>
+
A vote regarding the quality of this test build will be initiated within the
next couple of days.
</pre></div>
@@ -407,22 +419,26 @@ A vote regarding the quality of this tes
<li>
<p>Call for a vote</p>
<p>A few days after the test build announcement, call for a vote in
<strong>developers mailing list</strong>.</p>
-<div class="codehilite"><pre>Subject: [VOTE] <span class="cp">${</span><span
class="n">version</span><span class="cp">}</span> Release Quality
+<div class="codehilite"><pre>Subject: [VOTE] Velocity <span
class="cp">${</span><span class="n">module</span><span class="cp">}</span>
<span class="cp">${</span><span class="n">version</span><span
class="cp">}</span> Release Quality
-The Velocity Engine <span class="cp">${</span><span
class="n">version</span><span class="cp">}</span> test build has been available
since <span class="cp">${</span><span class="n">testBuildDate</span><span
class="cp">}</span>.
+The Velocity <span class="cp">${</span><span class="n">module</span><span
class="cp">}</span> <span class="cp">${</span><span
class="n">version</span><span class="cp">}</span> test build has been available
since <span class="cp">${</span><span class="n">testBuildDate</span><span
class="cp">}</span>.
Release notes:
-* <span class="cp">${</span><span class="n">jira</span><span
class="o">.</span><span class="n">release</span><span class="o">.</span><span
class="n">notes</span><span class="cp">}</span>
+* https://dist.apache.org/repos/dist/dev/velocity/.../release-notes.html
Distribution:
- * http://people.apache.org/builds/velocity-engine-parent/<span
class="cp">${</span><span class="n">version</span><span class="cp">}</span>/
+ * https://dist.apache.org/repos/dist/dev/velocity/.../
Maven 2 staging repository:
* https://repository.apache.org/content/repositories/velocity-[YOUR
REPOSITORY ID]/
+Sources:
+
+ * https://svn.apache.org/repos/asf/velocity/<span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>/tags/<span
class="cp">${</span><span class="n">version</span><span class="cp">}</span>
+
If you have had a chance to review the test build, please respond with a vote
on its quality:
[ ] Leave at test build
@@ -435,62 +451,87 @@ Everyone who has tested the build is inv
</li>
-<li>
-<p>Post-vote operations</p>
+</ul>
+<h3 id="post-vote-operations">Post-vote operations<a class="headerlink"
href="#post-vote-operations" title="Permanent link">¶</a></h3>
<p>After a vote is finished, and it has been decided that is <strong>at least
of alpha quality</strong>, there is the need of a post-vote process.</p>
<ul>
-<li>Promote staged artifacts</li>
-</ul>
+<li>
+<p>Promote staged artifacts</p>
<p>Once the release is deemed fit for public consumption it can be transfered
to a production repository where it will be available to all users.</p>
<p>Login to <a href="https://repository.apache.org">Nexus repository</a>
again.</p>
<p>Click on "Staging" and then on the repository with id
"velocity-staging".</p>
<p>Find your closed staging repository, right click on it and choose
"Promote".</p>
<p>Select the "Releases" repository and click "Promote".</p>
<p>Next click on "Repositories", select the "Releases" repository and validate
that your artifacts exist as you expect them.</p>
-<ul>
+</li>
+<li>
+<p>Publish the release</p>
+<p>Copy the staged release to the Apache Releases svn repository at
https://dist.apache.org/repos/dist/release/velocity/{module}/...</p>
+<p>You may subsequently receive an automated email from the Apache Reporter
Service asking you to log on to
https://reporter.apache.org/addrelease.html?velocity to add the release
metadata to its database. Please do so.</p>
+</li>
<li>
<p>Update the site</p>
-<p>Wait 24 hours to let the mirror sync to the release and then update the
site. In particular you have to update the index and the download pages:</p>
-<div
class="codehilite"><pre>https://svn.apache.org/repos/asf/velocity/site/site/xdoc/download.xml
-https://svn.apache.org/repos/asf/velocity/site/site/news.xml
+<p>Wait 24 hours to let the mirror sync to the release and then update the
site.</p>
+<p>Update the download page, the left menu, the news section, and the engine
or tools index:</p>
+<div class="codehilite"><pre>velocity/site/cms/trunk/content/download.mdtext
+velocity/site/cms/trunk/content/left.nav
+velocity/site/cms/trunk/content/news.xml
+velocity/site/cms/trunk/content/<span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>/index.mdtext
</pre></div>
-<p>Build and publish the site:</p>
-<div class="codehilite"><pre>mvn site
-mvn site:deploy
+<p>Push the changes into production.</p>
+<p>Check the resulting site for broken links</p>
+<div class="codehilite"><pre>wget --spider -r -nd -nv -H -l <span
class="m">2</span> -w <span class="m">2</span> -o links.log
https://velocity.apache.org/
</pre></div>
</li>
<li>
+<p>Update the DOAP RDF project metadata located under
`svn.apache.org/repos/asf/velocity/site/site.</p>
+</li>
+<li>
<p>Send announcement</p>
-<p>Finally, send an an announcement to the <strong>users</strong> and
<strong>developers mailing list</strong>:</p>
-<div class="codehilite"><pre>Subject: [ANNOUNCE] Velocity Engine <span
class="cp">${</span><span class="n">version</span><span class="cp">}</span>
<span class="cp">${</span><span class="n">quality</span><span
class="cp">}</span> released
+<p>Finally, send an an announcement to the <strong>users</strong> and
<strong>developers mailing list</strong> (in text-only format), by adapting the
following canevas:</p>
+<div class="codehilite"><pre>Subject: [ANNOUNCE] Velocity <span
class="cp">${</span><span class="n">module</span><span class="cp">}</span>
<span class="cp">${</span><span class="n">version</span><span
class="cp">}</span> <span class="cp">${</span><span
class="n">quality</span><span class="cp">}</span> released
+
+The Apache Velocity team is pleased to announce the release of Velocity <span
class="cp">${</span><span class="n">module</span><span class="cp">}</span>
<span class="cp">${</span><span class="n">version</span><span
class="cp">}</span> <span class="cp">${</span><span
class="n">quality</span><span class="cp">}</span>.
+
+[insert here a short description of the <span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>, aka:]
+
+ Velocity is a Java-based template engine. It permits anyone to use a
simple yet powerful template language to reference objects defined in Java code.
+
+[or]
-The Apache Velocity team is pleased to announce the release of Velocity Engine
<span class="cp">${</span><span class="n">version</span><span
class="cp">}</span> <span class="cp">${</span><span
class="n">quality</span><span class="cp">}</span>.
+ Velocity Tools is a library of template tools and helpers to ease the use
of the Apache Velocity template engine in standalone applications and in
webapps.
-Velocity Engine <span class="cp">${</span><span class="n">version</span><span
class="cp">}</span> is available in a binary and a source distribution.
+[insert here a short description of the main changes]
-http://velocity.apache.org/download.html
+For a complete list of changes, please visit the Velocity <span
class="cp">${</span><span class="n">module</span><span class="cp">}</span>
<span class="cp">${</span><span class="n">version</span><span
class="cp">}</span> releases notes [1].
-It is also available in the central Maven repository under Group ID
"org.apache.velocity".
+For notes on upgrading from Velocity <span class="cp">${</span><span
class="n">module</span><span class="cp">}</span> <span
class="cp">${</span><span class="n">previous</span><span
class="o">-</span><span class="n">version</span><span class="cp">}</span>, see
Velocity <span class="cp">${</span><span class="n">module</span><span
class="cp">}</span> Upgrading section [2].
-The 2.0.x series of the Apache Velocity Engine framework has a minimum
-requirement of the following specification versions:
+Velocity <span class="cp">${</span><span class="n">module</span><span
class="cp">}</span> <span class="cp">${</span><span
class="n">version</span><span class="cp">}</span> is available in a binary and
a source distribution [3].
-* Java Standard Edition (Java SE) 1.6
+http://velocity.apache.org/download.html#<span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>
-The release notes are available online at:
+It is also available in the central Maven repository under Group ID
"org.apache.velocity[.tools]".
-* <span class="cp">${</span><span class="n">jira</span><span
class="o">.</span><span class="n">release</span><span class="o">.</span><span
class="n">notes</span><span class="cp">}</span>
+Please feel free to test the distribution and post your comments to the user
list [4], or, if appropriate, file a ticket with JIRA [5].
-Please feel free to test the distribution and post your comments to the user
list, or, if appropriate, file a ticket with JIRA.
+Regards,
+
+ the Apache Velocity community.
+
+[1]: http://www.apache.org/dist/velocity/<span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>/<span
class="cp">${</span><span class="n">version</span><span
class="cp">}</span>/release-notes.html
+[2]: http://velocity.apache.org/<span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>/<span
class="cp">${</span><span class="n">version</span><span
class="cp">}</span>/upgrading.html
+[3]: http://velocity.apache.org/download.cgi#<span class="cp">${</span><span
class="n">module</span><span class="cp">}</span>
+[4]: http://velocity.apache.org/contact.html#mailing-lists
+[5]: https://issues.apache.org/jira/projects/VELTOOLS
</pre></div>
-</li>
-</ul>
+<p>And send the same announcement in a separate email to
<strong>[email protected]</strong> using your <code>@apache.org</code> (see
<a href="https://reference.apache.org/committer/email">how to configure your
SMTP client</a>).</p>
</li>
</ul>
<p><strong>You have finished!</strong></p></div></div>