Releasing BibleTime

From BibleTime
Jump to: navigation, search

Contents

Step 1. Do the release commit

NB! For safety, do not push yet!

  1. In /CMakeLists.txt Adjust BT_VERSION_MAJOR, BT_VERSION_MINOR and BT_VERSION_PATCH (but do NOT yet set BT_VERSION_BUILD).
    • Values for BT_VERSION_PATCH may include a _rc# or _beta# suffix where # is a positive number.
  2. Add an entry to /ChangeLog, e.g:
    2011-09-19 Your Name <your.name@mail.provider.com>
        * Released 2.9 beta 1.
  3. Do the commit:
    git add CMakeLists.txt ChangeLog && git commit -m 'Released 2.9 beta 1.'
  4. Tag and sign the commit (prepend 'v' to the tag name):
    git tag -s -m 'Released 2.9 beta 1.' v2.9_beta1 HEAD

Step 2. Generate archive and calculate checksums

First, the git commit numbers must be disabled in the release archive. To do this, uncomment the following line in /CMakeLists.txt:

#SET(BT_VERSION_BUILD "") # Temporarily uncomment this line for release procedures

Secondly, clean up obsolete strings from the translations so they won't be in the archive:

lupdate -no-obsolete src/ -ts i18n/messages/bibletime_ui*.ts

Next, do a dummy commit for the archive command:

git commit -a -m 'whatever'

Do not push this!

The following command generates bibletime-2.9_beta1.tar.xz and outputs its checksums:

./archive.sh 2.9_beta1

Now reset the dummy commit:

git reset HEAD^

Step 3. Test the archive

Now is the time to test whether BibleTime packaged in the archive builds and runs. This can be done using distribution-specific means, e.g. by writing a Gentoo ebuild for it. Things to test for:

  • BibleTime builds properly
  • BibleTime installs properly
    • Check whether all translations, pictures etc are present
  • BibleTime runs properly
  • BibleTime's version number does not contain git revisions

Step 4. Push the commit and tag

git push origin master v2.9_beta1

or

git push origin stable-2.9 v2.9.2

Please make sure not to commit a /CMakeLists.txt with the BT_VERSION_BUILD line active, or the translations with the obsolete strings removed.

Step 5. Upload the archive to SourceForge

The archive should be uploaded into the folder "BibleTime 2/BibleTime 2 source code/".

If releasing a new stable version, the uploaded archive should be made the default download target for platforms for which no binaries are provided (i.e. currently all except Windows and Mac).

Step 6. Announce the release via mailing lists and websites

New versions of BibleTime should first be announced in bt-devel and other BibleTime mailing lists, immediately followed by an announcement on our website. Only then are announcements to made on IRC (by changing #bibletime topic), the our news section on the SourceForge page and elsewhere. See Public Relations for the list of websites which should be updated.

List of mailing lists to announce to:

  • BibleTime Development <bt-devel@crosswire.org>
  • BibleTime Packagers <bibletime-packaging@lists.sourceforge.net>
  • Bibletime Translators <bibletime-translations@lists.sourceforge.net>

Announce message template

Prelude

Subject: BibleTime <NEW VERSION> released!

Hello!

Body

New series release

The BibleTime team is proud to announce the immediate availability of BibleTime version <NEW VERSION>, which is the first full release in the stable <NEW STABLE SERIES NUMBER> series of BibleTime.

All users of BibleTime are encouraged to upgrade, including users of the BibleTime version <OLD STABLE> series.

Changes since <LAST RC VERSION>:
  <LIST OF CHANGES>

Notable changes since <OLD STABLE VERSION>:
  <LIST OF CHANGES>

Stable series bugfix release

The BibleTime team is proud to announce the immediate availability of BibleTime version <NEW VERSION> which is the <NEW VERSION PATCH NUMBER> bugfix release in the stable <NEW VERSION MAJOR AND MINOR NUMBER> series of BibleTime.

All users of BibleTime are encouraged to upgrade, especially users still using BibleTime version <VERY OLD VERSION> or earlier.

Notable changes since <OLD VERSION>:
  <LIST OF CHANGES>

Footer

Source code for BibleTime <NEW VERSION> can be found at:
  http://sourceforge.net/projects/bibletime/files/

<DETAILS OUTPUT FROM ./archive.sh>

Mac and Windows versions will also be uploaded soon. :)


With best regards, and on behalf of the BibleTime team,
<YOUR NAME>

Step 7. Update bugs.bibletime.org

Update versions and milestones (need Admin rights for this). Update any bugs that need to be postponed.