You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@etch.apache.org by ve...@apache.org on 2014/06/20 15:08:40 UTC

svn commit: r1604167 - in /etch/site/trunk: content/howto-make-a-release.mdtext templates/navigation.mdtext

Author: veithm
Date: Fri Jun 20 13:08:39 2014
New Revision: 1604167

URL: http://svn.apache.org/r1604167
Log:
Add step-by-step guide for releasing Etch

Added:
    etch/site/trunk/content/howto-make-a-release.mdtext
Modified:
    etch/site/trunk/templates/navigation.mdtext

Added: etch/site/trunk/content/howto-make-a-release.mdtext
URL: http://svn.apache.org/viewvc/etch/site/trunk/content/howto-make-a-release.mdtext?rev=1604167&view=auto
==============================================================================
--- etch/site/trunk/content/howto-make-a-release.mdtext (added)
+++ etch/site/trunk/content/howto-make-a-release.mdtext Fri Jun 20 13:08:39 2014
@@ -0,0 +1,103 @@
+# How to make a release
+
+## Introduction
+
+Apache Etch releases are made according to the release policy of the Apache Software Foundation.
+More information about this can be found here:
+<http://www.apache.org/dev/release.html>
+
+##  Prerequisites
+This describes the necessary steps to be taken BEFORE drafting a release:
+
+
+
+1. Update release depended files in trunk
+ 
+    * Changelog: /Changelog.txt
+
+        Update the file with the svn log output between the last release and the current trunk:
+        <div class="codehilite"><pre>svn log -r \<revision of last release\>:HEAD</pre></div>
+      
+        In order to get the revision of the last release you can e.g. use the command
+        <div class="codehilite"><pre>svn info https://svn.apache.org/repos/asf/etch/releases/release-\<last release version number\></pre></div>
+
+    * Update the version numbers in all files. (e.g. grep the trunk for the last release version). You should get at least to following files:
+        * /README.txt
+        * /dist-README.txt
+        * /compiler/src/main/java/org/apache/etch/compiler/Version.java
+        * /doc/libs/global.ent
+        * /etch.properties
+
+
+    * Release notes: /RELEASE_NOTES.txt
+
+        The release notes do contain important information about the release. Please read through the existing content carefully, add new notes or remove obsolete remarks.
+        At the end of the file the release notes exported from JIRA are attached. Those release notes can be copied from the [Roadmap](https://issues.apache.org/jira/browse/ETCH/?selectedTab=com.atlassian.jira.jira-projects-plugin:roadmap-panel) section of JIRA for the respective release.
+
+
+## Create the release artifacts
+Apache Etch is currently shipped both as a source package (mandatory according to ASF Policy!) and as a binary package for different platforms.<br/>
+Therefore you need the toolchains for Linux as well as Windows at hand in order to create all the release artifacts.
+
+**Make sure all the stable bindings are building, the unit tests do succeed and all the examples are working.**
+
+1. Source packages
+
+    Create a zip-compressed archive and a tarball.
+<div class="codehilite">
+<pre>
+svn export trunk/ apache-etch-\<version\>-src
+zip -r apache-etch-\<version\>-src.zip apache-etch-\<version\>-src
+tar cfzv apache-etch-\<version\>-src.tar.gz apache-etch-\<version\>-src/
+</pre>
+</div>
+
+2. Binary packages:
+
+    The binaries are build with ant by calling the release target.
+<div class="codehilite">
+<pre>
+On Linux:
+ant release -DEtch.property.platformVersion=x86 -DEtch.property.osVersion=linux
+<br/>
+On Windows:
+ant release -DEtch.property.platformVersion=x86 -DEtch.property.osVersion=windows
+</pre>
+</div>
+
+    After a successful build the binary packages are located at trunk/target/Installers/packages
+
+
+3. Create checksums and signatures for all the created packages
+<div class="codehilite">
+<pre>
+MD5
+gpg --print-md MD5 ${artifact} > ${artifact}.md5
+<br/>
+SHA512
+gpg --print-md SHA512 ${artifact} > ${artifact}.sha
+<br/>
+Signature
+gpg -u \<your-sig-id\> --armor --output ${artifact}.asc --detach-sig ${artifact}
+</pre>
+</div>
+
+
+4. Upload release candidate
+
+    All the generated artifacts are committed to the [/dev](https://dist.apache.org/repos/dist/dev/etch/) tree of the dist repository in order to make them testable for other members of the PMC before they need to cast their vote.
+
+5. Start [VOTE] thread on the dev@etch.a.o mailing list
+
+6. Wait at least 72h for votes.
+
+## Publish the release
+As soon as a release got accepted, it can be published officially on the Apache servers.
+
+1. Move the approved release candidate from the [/dev](https://dist.apache.org/repos/dist/dev/etch/) tree of the dist repository to the [/release](https://dist.apache.org/repos/dist/release/etch/) directory.
+
+2. Update news and download section on the website.
+
+3. Create known bugs webpage with link to the bug tracker.
+
+4. Send out the good news on all known communication channels (mailing lists, [Etch's Twitter account](https://twitter.com/apacheetch)).
\ No newline at end of file

Modified: etch/site/trunk/templates/navigation.mdtext
URL: http://svn.apache.org/viewvc/etch/site/trunk/templates/navigation.mdtext?rev=1604167&r1=1604166&r2=1604167&view=diff
==============================================================================
--- etch/site/trunk/templates/navigation.mdtext (original)
+++ etch/site/trunk/templates/navigation.mdtext Fri Jun 20 13:08:39 2014
@@ -15,6 +15,7 @@
   - [Project Roadmap](roadmap.html)
   - [Buildserver](buildserver.html)
   - [Tools](tools.html)
+  - [Release How To](howto-make-a-release.html)
 
 # Documentation
   - [Overview](documentation.html)