Packaging:Release

From OpenLP
Jump to: navigation, search

These are the steps to create a release of OpenLP.

Prepare the Release

Tag The Release

Make sure you have the latest version of the code:

user@linux:~/Projects/OpenLP/trunk$ bzr up

Then edit the .version file and set the version in there:

user@linux:~/Projects/OpenLP/trunk$ echo "2.X.X" > openlp/.version

Then get the current revision from bzr and increase it one:

user@linux:~/Projects/OpenLP/trunk$ bzr revno
2512

Then edit the tests file to create the correct tag version. Current Revision + 1

user@linux:~/Project/OpenLP/trunk$ vim tests/utils/test_bzr_tags.py 

The commit that change:

user@linux:~/Projects/OpenLP/trunk$ bzr commit -m "Release 2.X.X"

And then tag it:

user@linux:~/Projects/OpenLP/trunk$ bzr tag "2.X.X"

Create the Release Source Tarball

Export the code without any version control information into a tarball:

user@linux:~/Projects/OpenLP/trunk$ bzr export -r "2.X.X" ../OpenLP-2.X.X.tar.gz

Upload the Release Source Tarball

Create a new release directory on OpenLP.io:

$ ssh openlp@openlp.io "mkdir -p ~/sites/get.openlp.org/www/2.X.X/"

Then upload the zipped file:

$ scp OpenLP-2.X.X.tar.gz openlp@openlp.io:sites/get.openlp.org/www/2.X.X

Start the Packaging Process

Notify Packagers

Once you've created the source tarball, notify all the packagers that is available. The Windows and OS X packagers will upload their packages to the OpenLP.io server.

Platform Packager (IRC nick)
Windows ElderP or tgc
macOS superfly
Debian/Ubuntu superfly
Fedora TRB143
Arch thelinuxguy
Gentoo dsr1204

Create the PPA Build

Log into Jenkins and run the Build Ubuntu Package job.

Upload the Windows and OS X Packages

Upload the Windows setup file and the OS X disk image to Sourceforge:

user@linux:~$ scp OpenLP-1.X.X-setup.exe userid,openlp@frs.sourceforge.net:/home/frs/project/o/op/openlp/openlp/1.X.X/
user@linux:~$ scp OpenLP-1.X.X.dmg userid,openlp@frs.sourceforge.net:/home/frs/project/o/op/openlp/openlp/1.X.X/

Announce the Release

Once everything is packaged (usually on Saturday), it is time to update the website and formally announce the new release. This part is done on the Sunday of the release, usually after church.

Update the Download Page

On the web site, edit the download page and update the links to all point to the new release. Often this is easiest done by just editing the HTML itself.

Blog the Announcement

Most releases we have collaboratively worked on a release announcement. After the download page has been updated, the blog post is created and posted on the site. The Twitter account and the Facebook page will automatically pick up the blog post.

Spread the Good News

Last but not least, retweet the announcement on Twitter, share and like the announcement on Facebook, and do whatever else you can and want to announce the release.