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.
- 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.
- 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.
- 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.
- 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. - Upload those 13 artifacts to the github release page.
- Upload those 13 artifacts to the
igniterealtime.org
host and place them in the/staticfiles/builds/openfire
folder. - On the
igniterealtime.org
host, go into the/staticfiles/builds/openfire/docs
folder and make a new release folder and update thelatest
symlink. - Extract one of the release artifacts to provide the various
{changelog,README,LICENSE}.html
files and thedocumentation
folder. Then create ajavadocs
folder in thedocumentation
folder. - Inside that folder, download the
javadocs
jar file that looks like so and extract it into thejavadocs
folder. I look at previousdocs
folder releases to verify that everything looks OK. - Fix a strange bug with permissions, by going back up to the base
docs
folder for this release and runningfind . -type f -exec chmod 664 {} \;
andfind . -type d -exec chmod 775 {} \;
- Submit a commit to the igniterealtime website denoting the new openfire version and release date.
- Go back to bamboo and fire off a website build, if it has not already.
- On the
igniterealtime.org
host as usertomcat
, update the website to the latest build. - Make a blog post announcing the release with the
planetjabber
,openfire
, andrelease
tags. - Join
open_chat
and denote how difficult and laborious your work is and how the community should ever be in your debt. - Watch the community forums for the first report of a show stopping bug with the new release.