sandev release process

Here's the complete process for creating a release. The steps here are all from things that have bitten us at one point or another. If you do all the steps, then the chance of a fully functional release that can be installed and used by other people is pretty good. If you skip some of the steps then you run the risk of potential problems.

  1. Verify all work for the release is complete and tested.
  2. Verify we are using recent Ant and container releases.
  3. Verify sand/readme.html is still accurate.
  4. Manually drop all tables in the database.
  5. Nuke the entire source code tree from a development box, check out the sand module from CVS, and make sure a fresh build is clean.
  6. Smoke test the app:
  7. Tag the tree in CVS as sandev_x_y (select sand, Modify|Create a tag on selection)
  8. ant publish.docs (publishes the release documentation)
  9. ant publish.release (srubs and creates the release file)
  10. Log on to sourceforge and create the release. Post the release text into the release notes and a corresponding news item. Preserve the preformatted text so the line breaks come through.
  11. After the files all post (it can take a few minutes for them to show up), verify the news is readable and download the release file onto a clean box. Build and run to make sure nothing was lost in transit except the CVS directories.
  12. Update the publish.releasename property in mainbuild.xml with the next release number, then clear out release.txt to ready for the next release.