Author: buildbot
Date: Tue Jan 6 19:20:37 2015
New Revision: 935297
Log:
Production update by buildbot for tapestry
Modified:
websites/production/tapestry/content/cache/main.pageCache
websites/production/tapestry/content/release-process.html
Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/tapestry/content/release-process.html
==============================================================================
--- websites/production/tapestry/content/release-process.html (original)
+++ websites/production/tapestry/content/release-process.html Tue Jan 6
19:20:37 2015
@@ -100,7 +100,7 @@
<span class="icon icon-page" title="Page">Page:</span>
</div>
<div class="details">
- <a shape="rect"
href="confluence-site-setup.html">Confluence Site Setup</a>
+ <a shape="rect"
href="building-tapestry-from-source.html">Building Tapestry from Source</a>
</div>
@@ -109,7 +109,7 @@
<span class="icon icon-page" title="Page">Page:</span>
</div>
<div class="details">
- <a shape="rect"
href="release-process.html">Release Process</a>
+ <a shape="rect"
href="confluence-site-setup.html">Confluence Site Setup</a>
</div>
@@ -118,40 +118,56 @@
<span class="icon icon-page" title="Page">Page:</span>
</div>
<div class="details">
- <a shape="rect"
href="building-tapestry-from-source.html">Building Tapestry from Source</a>
+ <a shape="rect"
href="release-process.html">Release Process</a>
</div>
</li></ul>
-</div><p>Before creating a release ensure:</p><ul><li>You have setup your own
public OpenGPG key signature for signing the distribution</li><li>You can login
to <a shape="rect" class="external-link"
href="https://repository.apache.org/index.html#stagingRepositories">Nexus</a></li></ul><h2
id="ReleaseProcess-GITandDeploymentCredentials">GIT and Deployment
Credentials</h2><p>To successfully create a release, you will need to update
your Gradle settings with the credentials for your git user and the deployment
user. These credentials are stored in the Gradle configuration file
<code>~/.gradle/gradle.properties</code>:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div><p>Before creating a release, ensure that:</p><ul><li>You have setup
your own public OpenGPG key signature for signing the distribution</li><li>You
can login to <a shape="rect" class="external-link"
href="https://repository.apache.org/index.html#stagingRepositories">Nexus</a></li><li>You
have a Git workspace for <a shape="rect" class="external-link"
href="https://git-wip-us.apache.org/repos/asf/tapestry-5.git">https://git-wip-us.apache.org/repos/asf/tapestry-5.git</a></li><li>You
have a Subversion workspace for <a shape="rect" class="external-link"
href="https://dist.apache.org/repos/dist/dev/tapestry">https://dist.apache.org/repos/dist/dev/tapestry</a> (dev
archives workspace)</li><li>You have a Subversion workspace for <a
shape="rect" class="external-link"
href="https://dist.apache.org/repos/dist/release/tapestry">https://dist.apache.org/repos/dist/release/tapestry</a> (release
archives workspace)</li><li>You have a Subversion workspace for <a s
hape="rect" class="external-link"
href="https://svn.apache.org/repos/infra/websites/production/tapestry/content">https://svn.apache.org/repos/infra/websites/production/tapestry/content</a> (site
content workspace)</li></ul><h2
id="ReleaseProcess-GITandDeploymentCredentials">GIT and Deployment
Credentials</h2><p>To successfully create a release, you will need to update
your Gradle settings with the credentials for your git user and the deployment
user. These credentials are stored in the Gradle configuration file
<code>~/.gradle/gradle.properties</code>:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[apacheDeployUserName=hlship
apacheDeployPassword=...
signing.keyId=7CC19136
-signing.secretKeyRingFile=/Users/hlship/.gnupg/secring.gpg
+signing.secretKeyRingFile=.../.gnupg/secring.gpg
signing.password=...
-]]></script>
-</div></div><h2 id="ReleaseProcess-ReleaseSteps">Release Steps</h2><p>The
process can be summarized as:</p><ul><li>Update your workspace to the release
branch, currently 5.3: <code>git co 5.3</code><ul><li>It is normal for the
release branch to be created a week or more before the planned
release</li></ul></li><li>Update <code>build.gradle</code> to set the version
number, then <code>git commit</code><ul><li>Don't forget to set it back to
5.x-SNAPSHOT after the release</li></ul></li><li>Run the build using
<code>gradle generateRelease</code><ul><li>This will create, sign, and upload
JAR files and other artifacts to the Nexus repository</li><li>It will also
create, sign, and upload the source and javadoc archives to your
<code>~/public_html/tapestry-releases</code> folder of your Apache home
directory (at people.apache.org)</li></ul></li><li>Tag the release in Git, then
push the changes up to the Apache repository:<ul><li><code>git tag
5.x.x</code></li><li><code>git push --tags</code
></li></ul></li><li>Update <code>build.gradle</code> to bump the version
>number to 5.x(.y)?-SNAPSHOT, then <code>git commit</code></li><li>Login to <a
>shape="rect" class="external-link"
>href="https://repository.apache.org/index.html#stagingRepositories">Nexus</a>
>and <strong>close</strong> the automatically created staging repository, and
>note its url</li><li>Use the <a shape="rect" class="external-link"
>href="https://issues.apache.org/jira/plugins/servlet/project-config/TAP5/versions">Manage
> Versions page</a> in JIRA to add a new version (this is often not necessary
>as it is often created by someone earlier)</li><li><strong>Release</strong>
>the version, moving outstanding issues to the next version</li><li>Generate
>HTML Release Notes<ul><li>Visit the <a shape="rect" class="external-link"
>href="https://issues.apache.org/jira/browse/TAP5#selectedTab=com.atlassian.jira.plugin.system.project:versions-panel&subset=-1">TAP5
> Versions pages in JIRA</a></li><li>Choose the correct versio
n number</li><li>Click "Release Notes" (upper right corner of the
page)</li><li>Create a new Confluence child page of <a shape="rect"
href="release-notes.html">Release Notes</a> (it may already
exist)</li><li>Update with text about any unusual aspects of the upgrade
(especially, non-backwards compatible changes)</li><li>Paste the HTML release
notes content into the new page (you'll have to use the {html}
macro)</li><li>Rename the "Bug" heading to "Bugs Fixed", "Improvement" to
"Improvements Made", "New Feature" to "New Features Added"</li><li>Update <a
shape="rect" href="release-notes.html">Release Notes</a> index page to point to
the new page</li></ul></li><li>Send vote email ... <strong>3 days
pass</strong></li><li>Login to <a shape="rect" class="external-link"
href="https://repository.apache.org/index.html#stagingRepositories">Nexus</a>
and <strong>release</strong> the version's repository<ul><li>Enter "Apache
Tapestry 5.x.x" (adjust as necessary) for the message</li><li>The vers
ion will disappear from the list of repositories after releasing
it</li><li>Releasing will ultimately get the artifacts up to the central Maven
repository</li></ul></li><li>Documentation and Downloads:<ul><li>SSH to
people.apache.org and move the source and javadoc archives to
<code>/www/www.apache.org/dist/tapestry/</code></li><li>Create (if necessary)
<code>/www/tapestry.apache.org/5.x.x</code> to store documentation for the
release</li><li>Unpack the JavaDoc archive into the directory (it will become
the <code>apidocs</code> directory)</li><li>Update SVN PubSub repo at <a
shape="rect" class="external-link"
href="https://svn.apache.org/repos/infra/websites/production/tapestry/content/">https://svn.apache.org/repos/infra/websites/production/tapestry/content/</a>
to clean old api dir and relink all symlinks to point to the new
<code>5.x.x</code> directory</li></ul></li><li>Once files reach all mirrors,
update the Downloads Page</li><li>Create a Confluence blog entry to describe
the
new release (this will automatically appear on the Tapestry home
page)</li><li>Edit <code>/www/tapestry.apache.org/archetype-catalog.xml</code>
to add or update a new entry for the release</li><li>Update the release number
listed in the following pages in the Confluence wiki:<ul><li><a shape="rect"
href="download.html">Download</a> page</li><li>(Optional) Tutorial <a
shape="rect" href="creating-the-skeleton-application.html">Creating The
Skeleton Application</a> page: Tapestry version number in the
archetype</li><li>(Optional) <a shape="rect"
href="getting-started.html">Getting Started</a> page: Tapestry version number
in the archetype</li></ul></li><li>Update the release number and date at <a
shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/tapestry/tapestry-site/branches/post-5.2-site/publish/doap_Tapestry.rdf">http://svn.apache.org/repos/asf/tapestry/tapestry-site/branches/post-5.2-site/publish/doap_Tapestry.rdf</a></li></ul><h2
id="ReleaseProcess-Atemplat
eforthevotee-mail:">A template for the vote e-mail:</h2><div
class="preformatted panel" style="border-width: 1px;"><div
class="preformattedContent panelContent">
-<pre>I've created and uploaded a release of Tapestry 5.x.x, ready to be voted
upon.
-The source and source downloads are uploaded to:
+apacheArchivesFolder=.../tapestry-dev]]></script>
+</div></div><p>You can find your keyId using <code>gpg
--list-keys</code>.</p><p> The apacheArchivesFolder should be the full
path to your dev archives workspace. The build will copy files to this
folder; see further notes below.</p><h2
id="ReleaseProcess-ReleaseSteps">Release Steps</h2><h3
id="ReleaseProcess-GeneratetheRelease">Generate the Release</h3><ul><li>Update
your workspace to the release branch<ul><li>For current work, the release
branch is <em>master</em></li><li>When creating bug fix releases for older
releases, the branch will match the release,
e.g., <em>5.3</em></li></ul></li><li><span style="line-height:
1.4285715;">Run the build using </span><code style="line-height:
1.4285715;">gradle generateRelease</code><br clear="none"><ul><li>This will
create, sign, and upload JAR files and other artifacts to the Nexus
repository</li><li>It will also create, sign, and copy the source, binary, and
documentation archives to your dev archives workspace</l
i></ul></li><li>Tag the release in Git, then push the changes up to the Apache
repository:<ul><li><code>git tag 5.x</code></li><li><code>git push
--tags</code></li></ul></li><li>Login to <a shape="rect"
class="external-link"
href="https://repository.apache.org/index.html#stagingRepositories">Nexus</a> and <strong>close</strong> the
automatically created staging repository</li></ul><h3
id="ReleaseProcess-CommittheArchives">Commit the Archives</h3><ul><li>The build
will have copied archive files to your dist workspace</li><li><code>svn
add</code> the new files</li><li><code>svn commit</code> to copy the files up
to Apache (this is <em>slow</em>)<ul><li>Use the full version number as
the commit message, e.g., <em>5.4-beta-26</em></li></ul></li><li>You can
verify the files via the web: <a shape="rect" class="external-link"
href="https://dist.apache.org/repos/dist/dev/tapestry">https://dist.apache.org/repos/dist/dev/tapestry</a></li></ul><h3
id="Release
Process-BumptheVersionNumber">Bump the Version
Number</h3><ul><li>Update <code>build.gradle</code> to increment the
version number</li><li>Increment the minor version number (inside the
tapestryVersion method, near the top of the file)</li><li><p>Commit and push
the changes</p></li></ul><h3 id="ReleaseProcess-SendVote">Send
Vote</h3><ul><li><span style="line-height: 1.4285715;">Send vote
email</span></li><li><span style="line-height: 1.4285715;"><strong>Wait 3
days</strong><br clear="none"></span></li><li><span style="line-height:
1.4285715;">The vote is successful if there are at least
three <strong>+1</strong>'s and more <strong>+1</strong> than
<strong>-1</strong></span></li><li><span style="line-height: 1.4285715;">Only
PMC members may cast binding votes<br clear="none"></span></li></ul><h3
id="ReleaseProcess-"><span style="line-height:
22.857143px;"> </span></h3><h3
id="ReleaseProcess-UpdateJIRAandgeneratereleasenotes"><span>Update JIRA and
generate release
notes</span></h3><h3 id="ReleaseProcess-.1"><span style="line-height:
22.857143px;"> </span></h3><ul><li><span>Use the </span><a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/plugins/servlet/project-config/TAP5/versions">Manage
Versions page</a><span> in JIRA to add a new version (this is often not
necessary as it is often created by someone
earlier)</span></li><li><strong>Release</strong> the version, moving
outstanding issues to the next version</li><li>Generate HTML Release
Notes<ul><li>Visit the <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5#selectedTab=com.atlassian.jira.plugin.system.project:versions-panel&subset=-1">TAP5
Versions pages in JIRA</a></li><li>Choose the correct version
number</li><li>Click "Release Notes" (upper right corner of the
page)</li><li>Create a new Confluence child page of <a shape="rect"
href="release-notes.html">Release Notes</a> (it may already ex
ist)</li><li>Update with text about any unusual aspects of the upgrade
(especially, non-backwards compatible changes)</li><li>Paste the HTML release
notes content into the new page (you'll have to use the {html}
macro)</li><li>Rename the "Bug" heading to "Bugs Fixed", "Improvement" to
"Improvements Made", "New Feature" to "New Features
Added"</li><li>Update <a shape="rect" href="release-notes.html">Release
Notes</a> index page to point to the new page</li></ul></li></ul><h3
id="ReleaseProcess-ReleasetheMavenArtifacts"><span style="line-height:
22.857143px;">Release the Maven Artifacts</span></h3><ul><li>Login to <a
shape="rect" class="external-link"
href="https://repository.apache.org/index.html#stagingRepositories">Nexus</a>
and <strong>release</strong> the version's repository<ul><li>Enter "Apache
Tapestry 5.x" (adjust as necessary) for the message</li><li>The version will
disappear from the list of repositories after releasing
it</li></ul></li><li>Releasing will ultimat
ely get the artifacts up to the central Maven repository</li></ul><h3
id="ReleaseProcess-ReleasetheArchives">Release the Archives</h3><ul><li>Copy
the release archives files (including checksums and GPG signatures) to the
release archives workspace</li><li>Change to the release archives
workspace</li><li><code>svn add</code> and <code>svn commit</code>, as
with the dev archives workspace</li></ul><h3
id="ReleaseProcess-ReleasetheKraken">Release the Kraken</h3><ul><li>This occurs
automatically</li></ul><h3 id="ReleaseProcess-Wait">Wait</h3><ul><li>You must
wait at least 24 hours for the archives and artifacts to be distributed to the
Apache mirrors and to the central Maven repository</li></ul><h3
id="ReleaseProcess-UpdateDocumentation"><span style="line-height:
1.4285715;">Update Documentation</span></h3><ul><li><span style="line-height:
1.4285715;">Update the release number listed in the following pages in the
Confluence wiki:</span><br clear="none"><ul><li><a shape="rect" href
="download.html">Download</a> page</li><li>(Optional) Tutorial <a shape="rect"
href="creating-the-skeleton-application.html">Creating The Skeleton
Application</a> page: Tapestry version number in the
archetype</li><li>(Optional) <a shape="rect"
href="getting-started.html">Getting Started</a> page: Tapestry version number
in the archetype</li></ul></li><li><span>Change to the site content
workspace</span></li><li><code>svn update</code> to get any recent
changes</li><li><span>Edit </span><code>archetype-catalog.xml</code><span> to
add or update a new entry for the release</span></li><li><span
style="line-height: 1.4285715;">Update the release number and date
inside </span><code style="line-height: 1.4285715;">doap.rdf</code><span
style="line-height: 1.4285715;">  (this is a </span><a shape="rect"
class="external-link" href="https://projects.apache.org/doap.html"
style="line-height: 1.4285715;">description file</a><span style="line-height:
1.4285715;"> for the
project)</span></li><li><span style="line-height: 1.4285715;"><code>svn
commit</code></span></li></ul><h3 id="ReleaseProcess-Done!"><span
style="line-height: 1.4285715;">Done!</span></h3><h2
id="ReleaseProcess-Atemplateforthevotee-mail:">A template for the vote
e-mail:</h2><div class="preformatted panel" style="border-width: 1px;"><div
class="preformattedContent panelContent">
+<pre>I've created and uploaded a release of Tapestry 5.x, ready to be voted
upon.
+
+The source, binary, and documentation archives have been uploaded to:
+
+
+https://dist.apache.org/repos/dist/dev/tapestry
-http://people.apache.org/~USER/tapestry-releases/
and the Maven artifacts staged to:
https://repository.apache.org/content/repositories/staging
-Please examine these files to determine if the new release, 5.x.x, is ready.
-I've also created a 5.x.x tag in Git:
-https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=commit;h=c5600a8de7645fb7bd5cc21b38f8902a36c1b840
+Please examine these files to determine if the new release, 5.x, is ready.
+
+
+I've also created a 5.x tag in Git:
+
+
+https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;a=log;h=refs/tags/5.x
+
+
+Vote will run for three days and requires majority approval from
+the PMC: At least 3 binding +1 votes and more positive than
+negative binding votes.
+
+
+On a successful vote, I'll release the Maven artifacts, the archives,
+and make the necessary updates to JIRA and the Tapestry site.
+
-Vote will run for three days; On a successful vote, I'll release the Maven
-artifacts, and move the source and javadoc distributions from these directories
-to the proper distribution directories and update the Tapestry site
-documentation, and send out appropriate notifications.
-</pre>
+Only votes cast by Tapestry PMC members are binding, but input
+from the community is highly valued. Please indicate whether your
+vote is binding or not after your full name (as it will appear in
+the end-of-vote summary).</pre>
</div></div><p>I often embellish this template with extra
detail.</p><p>Lately, I append a text version of the JIRA release notes as
well.</p></div>
</div>