commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Commons Wiki] Update of "CreatingReleases" by SiegfriedGoeschl
Date Wed, 17 Dec 2008 09:48:20 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Commons Wiki" for change notification.

The following page has been changed by SiegfriedGoeschl:
http://wiki.apache.org/commons/CreatingReleases

------------------------------------------------------------------------------
   * The Apache {{{m2-snapshot-repository}}} if a SNAPSHOT version is used (to permit easy
testing of RCs by community, for instance)
   * A staging repository under {{{p.a.o/builds/commons/{component.id}/}}} if a final version
is used
  
+ === A. Maven Setup ===
+ 
+ ==== A.1 Maven Server Settings ====
+ 
+ It is a good idea to check your ''settings.xml'' that it contains the corresponding server
entries for the repositories and websites defined in the commons parent pom. If you have a
different user name on your box than on ''people.apache.org'' you local user name will be
used for authentication. Therefore the authentication will fail and after a few retries your
are locked out from ''people.apache.org'' for a day - which in turn makes cutting a release
rather lengthy. In theory you could also provide your password in the server section below
but this unsafe and did not work in my case.
+ 
+ {{{
+ <servers>
+   <server>
+     <id>apache.releases</id>
+     <username>YOUR_APACHE_USERNAME</username>
+     <filePermissions>664</filePermissions>
+     <directoryPermissions>775</directoryPermissions>    
+   </server>
+   <server>
+     <id>apache.website</id>
+     <username>YOUR_APACHE_USERNAME</username>
+     <filePermissions>664</filePermissions>
+     <directoryPermissions>775</directoryPermissions>    
+   </server>
+   <server>
+     <id>apache.snapshots</id>
+     <username>YOUR_APACHE_USERNAME</username>
+     <filePermissions>664</filePermissions>
+     <directoryPermissions>775</directoryPermissions>    
+   </server>
+ </servers>  
+ }}}
+ 
- === A. Release prep ===
+ === B. Release prep ===
  
- Including preparing the POM(s) -- see above.
+ ==== B.1 Check Your POM =====
+ 
+  * Make sure that you are not referencing any SNAPSHOT version otherwise the release will
fail
+  * Make sure that you update your ''changes.xml'' to reflect your release
+  * Make sure that all your files contain a 
+ 
+ ==== B.2 Prepare Your Maven Variables ====
+ 
+ During the staging process a directory is created on ''people.apache.org'' based on the
content of the following Maven variables
+ 
+  * commons.release.version is a duplicate of the pom version
+  * commons.rc.version is the current number of your release candidate
+ 
+ That could look like the following snippet taken from ''commons-exec''
+ 
+ {{{
+ <properties>
+   <commons.release.version>1.0.0</commons.release.version>
+   <commons.rc.version>RC2</commons.rc.version>
+ </properties>
+ }}}
+ 
+ ==== B.3 Define Staging Site for Release Candidate ====
  
  Also ensure that the {{{rc}}} profile will stage the site (rather than update the Commons
component website). See bottom of [http://svn.apache.org/repos/asf/commons/proper/scxml/trunk/pom.xml
Commons SCXML POM] as an example. See [http://issues.apache.org/jira/browse/COMMONSSITE-26
COMMONSSITE-26] for background.
  
+ {{{
+ <profiles>
+   <profile>
+     <id>rc</id>
+     <distributionManagement>
+       <!-- Cannot define in parent ATM, see COMMONSSITE-26 -->
+       <site>
+         <id>apache.website</id>
+         <name>Apache Commons Release Candidate Staging Site</name>      <url>${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site</url>
+       </site>
+     </distributionManagement>
+   </profile>
+ </profiles>
+ 
+ }}}
+ 
- === B. Stage artifacts and site ===
+ === C. Stage artifacts and site ===
  
   1. {{{mvn -Prc release:prepare}}}
  
@@ -54, +121 @@

  
  === C. Vote ===
  
- If vote fails, undo and redo previous steps as appropriate (make sure SVN tag is deleted
before recreating).
+ ==== C.1 Send Out The Vote ====
+ 
+ Below you find a vote template to save you some time ...
+ 
+ {{{
+ Tag:
+ 
+ https://svn.apache.org/repos/asf/commons/proper/YOUR_PROJECT/tags/${commons.rc.version}
+ 
+ Site:
+ 
+ http://people.apache.org/builds/commons/YOUR_PROJECT/${commons.release.version}/${commons.rc.version}/site/index.html
+ 
+ Binaries:
+ 
+ http://people.apache.org/builds/commons/YOUR_PROJECT/${commons.release.version}/${commons.rc.version}/staged/commons-exec/commons-exec/${commons.release.version}/
+ 
+ [ ] +1 release it
+ [ ] +0 go ahead I don't care
+ [ ] -1 no, do not release it because
+ 
+ }}}
+ 
+ ==== C.2 React on the Vote ====
+ 
+ If vote fails, undo and redo previous steps as appropriate (make sure SVN tag is deleted
before recreating). And rest assured that most releases need more than one release candidate
... :-)
  
  === D. Go live ===
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message