Cutting the 1.3.3 release has been an educational process. I hope the
additional documentation on
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
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
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
==================================================================--- 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
(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!