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 u...@people.apache.org:.ssh/authorized_keys -</pre></div> - - -</li> -<li> -<p>Try to login:</p> -<div class="codehilite"><pre>ssh u...@people.apache.org -</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://_your_apache_...@svn.apache.org/repos/asf/velocity/engine/tags/2.0 https://_your_apache_...@svn.apache.org/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://_your_apache_...@svn.apache.org/repos/asf/velocity/engine/tags/2.0 https://_your_apache_...@svn.apache.org/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>annou...@apache.org</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>