Revision as of 17:17, 22 May 2008

Most of this content was authored by David Williams for Callisto, and it still applies today for Ganymede, so...

The following is a "blow-by-blow" schedule of the final days leading up to the Ganymede simultaneous release. This is one of the responsibilities of our heterogeneous projects working together towards having a simultaneous release.

Failure to follow these procedures and schedules can have dire consequences, which we all have seen before at one time or another -- if not done in the right way, in the right order, at the right time, mirrors get busy replicating one project, but other projects have difficulty accessing eclipse.org to produce their final builds much less upload them, so a "chain reaction" begins and everyone is much delayed simply due to network and infrastructure bottlenecks -- or, I should say, from someone not following these procedures and schedules! :)

Plus, this schedule and procedure should ensure the mirror system get's fully populated before demand for
downloads gets in full swing -- meaning much fewer delays, 403's, and failed downloads for end-users -- which all Eclipse users will appreciate.

From Now to 6/24

Clean up "old" builds and releases

Delete or archive "old" builds or releases that are mirrored. This is important to reduce space used on the mirror servers. Not only is this a "nice" thing to always do, it is essential for this Ganymede release, as it can help avoid those mirror servers from filling up once they get the final release and they themselves having problems mirroring Ganymede, once it is released. And, of course, if they have problems, we all have problems! Everyone should have space at, if not already using, archive.eclipse.org, and if you are not sure how to "archive" a release there, please ask.

Prepare releases offline

That is, prepare your final releases zipped files, update jars, etc., but do not put zipped up builds, update jars, etc., in their final (mirrored) release areas of eclipse.org until instructed to do so. This may require some projects to "turn off" some final step of their build process, depending on how they do it, and how and when its copied to eclipse.org. If you have a special circumstance that does not fit in the following procedure and schedule, please send a note to discuss with our Eclipse Webmaster (Denis Roy) at webmaster@eclipse.org and work out a plan to accommodate your special situation.

Note: this may mean some projects need to "adjust" their final build procedures, so they do not rely on some
other projects official, final, mirrored release, but this should not be required as any "pre-req'd" projects should just be
making minor changes to doc, or highly local and internal bug fixes (nothing that would be changing constants or API's or
even non API signatures!). If you do need some official, final release of a pre-req project, please work with them to find out
where to get it from (other than a mirrored location).

Monday 6/23

by 17:00 EDT, at the latest

to assist your downstream adopters, make sure you list the name/URL of your final release, even if it's not yet available under that name; this will allow people to do their renames in advance

projects ensure update jars are in their "temporary" locations, as listed in the feature-*.xml files

projects ensured europa.tools feature-*.xml and the europa.website site.xml files all up to date

europa 'staging' will be created to verify all are accurate, and ready to be copied to releases area

Bjorn, please send e-mail to cross-project informing that the final "staging" is up, so EPP can build their packages

EPP will start building packages as soon as europa 'staging' is ready (staging will be the input for the packages)

last opportunity for anyone to declare "emergency, stop ship" (and it had really better be an emergency! A simple build machine crash does not qualify ... better have backups! ... and, maybe, a lab fire might qualify if it is wide spread :)