[docs] Openfire Release Process

I know it takes tremendous skill and precision to make an Openfire release, perhaps more skill and precision that has been seen before in human history. - Donald J Trump

So maybe I should quasi document my procedure.

  1. Make a pull request containing about 9 changed files. I typically look at a previous commit and then follow the template! See 4.6.0-beta example.
  2. Once merged, tag the master/release branch on github so to create a landing space for release artifacts to live as our website points there. The tag should match previous tags and be in the same predictable form, so that the website can programatically generate URIs to there.
  3. Visit our bamboo and fire off release builds for the install4j, redhat RPM, debian, and mac builds. These all should have branch plans, so those are to be used for minor point releases.
  4. Collect up the 11 release builds and download the 2 source distributions provided by the github release/tag page. Generate sha1sum values for each of those.
  5. Upload those 13 artifacts to the github release page.
  6. Upload those 13 artifacts to the igniterealtime.org host and place them in the /staticfiles/builds/openfire folder.
  7. On the igniterealtime.org host, go into the /staticfiles/builds/openfire/docs folder and make a new release folder and update the latest symlink.
  8. Extract one of the release artifacts to provide the various {changelog,README,LICENSE}.html files and the documentation folder. Then create a javadocs folder in the documentation folder.
  9. Inside that folder, download the javadocs jar file that looks like so and extract it into the javadocs folder. I look at previous docs folder releases to verify that everything looks OK.
  10. Fix a strange bug with permissions, by going back up to the base docs folder for this release and running find . -type f -exec chmod 664 {} \; and find . -type d -exec chmod 775 {} \;
  11. Submit a commit to the igniterealtime website denoting the new openfire version and release date.
  12. Go back to bamboo and fire off a website build, if it has not already.
  13. On the igniterealtime.org host as user tomcat, update the website to the latest build.
  14. Make a blog post announcing the release with the planetjabber, openfire, and release tags.
  15. Join open_chat and denote how difficult and laborious your work is and how the community should ever be in your debt.
  16. Watch the community forums for the first report of a show stopping bug with the new release.
3 Likes

A post was split to a new topic: Openfire 4.6.0 release date?