You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by ab...@apache.org on 2013/12/08 22:38:07 UTC

svn commit: r1549313 - in /incubator/celix/site/trunk: content/celix/documentation/releasing-links.mdtext content/celix/documentation/releasing.mdtext templates/sidenav.mdtext

Author: abroekhuis
Date: Sun Dec  8 21:38:07 2013
New Revision: 1549313

URL: http://svn.apache.org/r1549313
Log:
CELIX-100: Added first draft of the release guide

Added:
    incubator/celix/site/trunk/content/celix/documentation/releasing-links.mdtext
    incubator/celix/site/trunk/content/celix/documentation/releasing.mdtext
Modified:
    incubator/celix/site/trunk/templates/sidenav.mdtext

Added: incubator/celix/site/trunk/content/celix/documentation/releasing-links.mdtext
URL: http://svn.apache.org/viewvc/incubator/celix/site/trunk/content/celix/documentation/releasing-links.mdtext?rev=1549313&view=auto
==============================================================================
--- incubator/celix/site/trunk/content/celix/documentation/releasing-links.mdtext (added)
+++ incubator/celix/site/trunk/content/celix/documentation/releasing-links.mdtext Sun Dec  8 21:38:07 2013
@@ -0,0 +1,11 @@
+
+## Requirements
+- CMake (2.8.1)
+- GCC (4.2.1)
+- GNU Make (3.81)
+- ZLib
+- CUnit
+- Celix Source
+
+## Useful Links
+- [CMake Documentation](http://www.cmake.org/cmake/help/documentation.html)
\ No newline at end of file

Added: incubator/celix/site/trunk/content/celix/documentation/releasing.mdtext
URL: http://svn.apache.org/viewvc/incubator/celix/site/trunk/content/celix/documentation/releasing.mdtext?rev=1549313&view=auto
==============================================================================
--- incubator/celix/site/trunk/content/celix/documentation/releasing.mdtext (added)
+++ incubator/celix/site/trunk/content/celix/documentation/releasing.mdtext Sun Dec  8 21:38:07 2013
@@ -0,0 +1,140 @@
+Title: Releasing Apache Celix
+Links: documentation/releasing-links.mdtext
+
+Note: This information is only of use to Apache Celix Release Managers!
+
+Loosely based on: https://cwiki.apache.org/confluence/display/WHIRR/How+To+Release
+
+Steps to follow:
+* Be sure to have a key on file
+* Update/Create CHANGES file
+* Generate Release Notes (Combine with Changes?)
+* Run complete build, including tests and coverage targets. Make sure the provided examples work
+* Run Apache RAT target
+* Create TAG
+* Create and sign artefacts
+* Copy artefact and signatures to dev repo
+* Run the Vote
+* Tally the vote results
+* Stage release for mirroring by copying to release repo
+* Announce release (wait for mirror syncing) 
+
+## Code Signing keys
+Each Release Manager must have his own signing keys. Information about and instruction for the generation of these keys can be found on the
+[Signing Releases page](http://www.apache.org/dev/release-signing.html#generate). Be sure to follow the information provided on that site and its references.
+
+Next, the public key signature must be added to the KEYS file. Again, read the [Signing Releases page](http://www.apache.org/dev/release-signing.html#keys-policy)
+for more information. This updated file needs to be uploaded to SVN, be sure to upload it to:
+* https://dist.apache.org/repos/dist/dev/incubator/celix/KEYS
+* https://dist.apache.org/repos/dist/release/incubator/celix/KEYS
+
+## Update Release Related Files
+For every release the related files must be updated. The following files are relevant:
+* CHANGES
+  Add a list of fixed issues which can be created using Jira.
+* RELEASE_NOTES
+  Add additional notes regarding this release, eg known short comings.
+* BUILDING
+  Even though the BUILDING file doesn't have any specific release information, it should be verified before making a release.
+* NOTICE
+  If needed, add any new license related information to this file.
+  
+Besides this information, the version needs to be bumped. Even though every bundle has its own version, a release is made with one overall version. This version
+is defined in the top-level CMakeLists.txt file.
+Update the following pieces:
+SET(CELIX_MAJOR "X")
+SET(CELIX_MINOR "Y")
+SET(CELIX_MICRO "Z")
+SET(CELIX_QUALIFIER "incubating")
+While Celix is in incubation, the qualifier should (at least) always contain "incubating" as text.
+
+Note: The DEFAULT_VERSION property is used as default version for new bundles and as such does not need to be updated when making a release.
+  
+## Compile and Test
+Before creating a branch, be sure that the source compiles and tests run successfully. If there are any known shortcomings, make sure they are listed in the 
+RELEASE_NOTES. Details for compiling and testing are available in the BUILDING file.
+Also verify that the provides examples work as expected. If needed ask other committers to test parts, eg the GTK examples.
+After verifying the build, run Apache RAT to check for any licensing problems. If Apache RAT is configured in the CMake build the "rat" target can be used to run
+the check: make rat 
+Apache RAT should not raise any concers, if there are, check the source files for 
+a license header. If it is a false positive update the rat-excludes.txt file in the root of the project. Be sure it is a false positive! If in doubt, ask the 
+mailing list! Third party licenses may need to be mentioned in the NOTICE file.
+
+## Tag release
+After changing all files a tag for the new release must be made. Before doing so, make sure all changed files are committed.
+The tag should be named like this: celix-X.Y.Z.incubating
+To make a tag use the following command:
+svn copy http://svn.apache.org/repos/asf/incubator/celix/trunk/ http://svn.apache.org/repos/asf/incubator/celix/tags/celix-X.Y.Z.incubating -m "X.Y.Z release of the Apache Celix project."
+
+Note: Make sure there are no new changes made on trunk while working on the release. Discuss: Use a branch for staging the release and the files? Or possibly use a revision nr?
+
+## Publish Source Archive for Voting
+Copy the archive of the source to https://dist.apache.org/repos/dist/dev/incubator/celix/ (using SVN).
+See: http://www.apache.org/dev/release.html#host-rc
+
+## Run the Vote
+Before a release is official a vote has to be held. More information on voting can be found on [Apache Voting Process](http://www.apache.org/foundation/voting.html).
+Since Apache Celix is still in incubation, both the PPMC and the IPMC have to vote for it.
+The first vote has to be done on the public mailinglist of the project itself (celix-dev@incubator.apache.org). The following template must be used for this vote:
+================================================================================================================
+To: celix-dev@incubator.apache.org
+Subject: [VOTE] Release Celix version X.Y.Z
+
+This is the release vote for Apache Celix, version X.Y.Z.
+
+It fixes the following issues: 
+<Create Release Note link using (https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12323511)>
+
+Source files:
+https://dist.apache.org/repos/dist/dev/incubator/celix/celix-X.Y.Z-incubating/
+
+The tag to be voted upon:
+http://svn.apache.org/repos/asf/incubator/celix/tags/celix-X.Y.Z-incubating/
+
+Celix's keys can be found at:
+https://dist.apache.org/repos/dist/dev/incubator/celix/KEYS
+
+Information for voting on a release can be found at http://www.apache.org/dev/release.html#approving-a-release
+
+Please vote to approve this release:
+
+[ ] +1 Approve the release
+[ ] -1 Disapprove the release (please provide specific comments)
+
+This vote will be open for at least 72 hours.
+================================================================================================================
+
+After this first vote the results must be posted to the "dev" list, see below for more information.
+
+The second vote has to go to the general incubator list, this is to give the IPMC a chance to verify the release. This vote can only be published if the PPMC 
+has had enough time to review the release, following the defacto standard, this is ate least 72 hours.
+The template provided above can be reused for this, but needs to be extended (directly after "This is the release vote for..." with the following information:
+================================================================================================================
+This release has already been approved by:
+* Name of Approver (apache ID) (binding|not binding)
+* Name of Approver (apache ID) (binding|not binding)
+* ...
+See <link to markmail archive of Celix release thread> for their votes.
+================================================================================================================
+
+Todo: Check usability of http://wiki.apache.org/incubator/ReleaseChecklist
+Note: Be sure to use the [VOTE] tag, this is used by the automated vote tracking system to keep track of outstanding vote threads.
+
+## Post Vote Results
+As mentioned before, after each vote the results must be posted to the corresponding list. This "Result" vote contains the number of votes made, including 
+wether a vote is binding or not.
+
+Note: Be sure to post the vote result as a reply to the original message. Also prepend the subject with [RESULT]. This is, again, needed to be able to keep track
+of vote threads. See http://people.apache.org/~brane/incubator/votes.html and http://incubator.apache.org/facilities.html#voting-status
+
+## Roll Out Release
+If the vote is passed successfully the release can be moved from the "dev" area to "release". The automated svnpubsub will move the artifact to the correct 
+server for mirroring. Mirroring typically can take up to 24 hours.
+See: http://www.apache.org/dev/release.html#upload-ci
+After these 24 hours the release can be announced. 
+
+## Announce release
+Update website's "news section".
+Post message to "announce@apache.org"?
+
+

Modified: incubator/celix/site/trunk/templates/sidenav.mdtext
URL: http://svn.apache.org/viewvc/incubator/celix/site/trunk/templates/sidenav.mdtext?rev=1549313&r1=1549312&r2=1549313&view=diff
==============================================================================
--- incubator/celix/site/trunk/templates/sidenav.mdtext (original)
+++ incubator/celix/site/trunk/templates/sidenav.mdtext Sun Dec  8 21:38:07 2013
@@ -17,6 +17,7 @@
 	- [Utils](/celix/subprojects/utils.html)
 - [Documentation](/celix/documentation.html)
     - [Building and Running](/celix/documentation/buildingandrunning.html)
+    - [How To Release](/celix/documentation/releasing.html)
     - [Design](/celix/documentation/design.html)
     - [Mapping](/celix/documentation/mapping.html)
     - [Memory Pools](/celix/documentation/memorypools.html)