You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by David Jencks <da...@yahoo.com> on 2008/04/01 19:40:09 UTC

Release process...

I took a look at http://cwiki.apache.org/DIRxDEV/release-process.html

The parts on getting ready for a release look good to me.  The part  
on actually producing the artifacts doesn't look quite so hopeful :-)

My experience is that getting a bunch of artifacts built with all the  
i's dotted and t's crossed and legal goo ok is quite difficult.  This  
leads me to feel very strongly that votes should be conducted on the  
actual artifacts that we propose to push to maven repos, the apache  
dist site, etc, because it is all too easy for some overlooked  
configuration in someones environment to produce an unacceptable  
result during the final build.

The maven release plugin and stage plugin while very far from perfect  
work well enough to use for releasing standard artifacts -- I'm not  
sure about the installers.

I suggest for the voting part of the release process (after everyone  
agrees the stuff is ready to build, which I think is the current vote  
stage :-) we adopt the following process:

- use the release plugin to construct artifacts and deploy them to a  
staging repo the release manager's people.apache.org site
- if there's a maven generated site (it contains at least javadoc,  
right?)  it get deployed to a staging site similarly

- we vote

- use the staging plugin to install the artifacts into the apache  
maven sync repo
- copy the site to its final location.

i've set geronimo up to use this process, documented here:  http:// 
cwiki.apache.org/confluence/display/GMOxPMGT/Geronimo+release+process

It relies on some interaction between your ~/.m2/settings.xml and the  
poms and uses a release profile that generates source and javadoc  
jars as well as the primary artifacts and signs everything.

In geronimo we're putting the maven site at a location like http:// 
geronimo.apache.org/maven/<site-id>/<version>/  which identifies what  
you are looking at in a fairly self documenting way.

I can set up the project pom to do this stuff if desired.... thoughts?

thanks
david jencks