Hey, Cutting the 1.3.3 release has been an educational process. I hope the additional documentation on https://cwiki.apache.org/confluence/display/AVRO/How+To+Release, especially the section on the required dependencies on top of a base Ubuntu AMI, will be useful for future release managers. I am currently blocked on obtaining the password to use while signing the release artifacts (issue number 8 below).
While I'm waiting for instructions from Doug on the signing process, I'd like to highlight here a few issues I encountered while trying to cut the release. Note that I personally caused many of these issues, so don't take offense if you too are included in the catalog; I am just trying to highlight areas for improvement. 1) Please update JIRA when you merge your patches into a branch, and please use the svn commit message convention from https://cwiki.apache.org/confluence/display/AVRO/How+To+Release#HowToRelease-UpdatingReleaseBranchfor merges. We have metadata in CHANGES.txt (lives in version control), JIRA, and the svn log. It's bad when these get out of sync. 2) Please be careful when updating CHANGES.txt. Some of the merges for the Ruby implementation made a bit of a mess, e.g. revisions 951276 and 951279. Take a second to be sure the metadata there matches the metadata in the SVN log and on the JIRA. 3) The C build seems to change permissions on build artifacts somehow, so that you can't run the clean target as the same user that ran the build target. I have an email out to Matt to investigate this one, as it may be correct behavior and highlight my ignorance of the C build process. 4) Ruby "tool.rb rpcreceive ..." command takes around 15s to write its port number to stdout, and the RPC interop tests only pause for 1 second before declaring the server dead. Thus the Ruby server is not tested in the RPC interop tests. I manually tested the server an things worked for this release, but I'd love to investigate why it's taking so long to print the port number. I filed 5) The Ruby tests seem to leave around lang/ruby/data.avr and update lang/ruby/Manifest. The tests should delete the former when finished, and perhaps the latter should have the changes checked in to version control? 6) We should update the How To Release documentation with instructions on how to publish Ruby artifacts to RubyGems.org. 7) When building the documentation for the release, I was not quite sure how to best handle passing java5.home and forrest.home to calling ant inside of doc/. I ended up modifying build.sh as follows, but I'm certain that this is not the best way to do it: $ svn diff build.sh Index: build.sh =================================================================== --- build.sh (revision 951745) +++ build.sh (working copy) @@ -87,7 +87,7 @@ (cd lang/ruby; rake dist) # build docs - (cd doc; ant) + (cd doc; ant -Djava5.home=/home/ubuntu/jdk1.5.0_22 -Dforrest.home=/home/ubuntu/apache-forrest-0.8) (cd build; tar czf ../dist/avro-doc-$VERSION.tar.gz avro-doc-$VERSION) 8) I have no idea what password to use when signing the release. We should update the How To Release documentation with guidance. In any case, I'm looking forward to making the release process more seamless for future release managers! Thanks, Jeff
