Skip to content
Daniel Stoeckel edited this page Feb 20, 2015 · 1 revision

This is the official checklist and manual for creating and publishing new BALL releases. Its target audience are official BALL release managers (cough cough cough), but if you stumble upon this page by chance, feel free to pity us.

Before you start, grep for the old version number in the repository to find all places where it is used. Most important is the version in BALL.doc, which is used in a number of places, and the variables in BALL/source/CMakeLists.txt.

Note: when uploading something to ball-www.bioinf.uni-sb.de, make sure that all files are readable for www-data.

1. Create new contrib packages.

The main problem here is that we need 6 different contrib packages.

  • Windows 32/VC2010
  • Windows 64/VC2010
  • Windows 32/VC2008
  • Windows 64/VC2008
  • Linux with VIEW
  • Linux without

First, ensure that the git repository for the contrib directories contains current versions. Note: we have two branches here, master for Linux and MacOS on the one hand and Windows for, well, Windows.

The repository lives on /share/BALL_contrib.git on the computers in Saarbruecken.

When you are sure that Linux/MacOS and Windows branches are on the same version state, and are up to date (see UpdatingContribRepositories), first create new tar balls using the create_archives.sh script in the contrib repository. Then, upload these tar balls to

ball-www.bioinf.uni-sb.de

into the folders

  • /share_www/ball-www/BALL-Downloads/Releases/all
  • /share_www/ball-www/BALL-Downloads/Releases/your-release-version
  • /share_www/ball-www/BALL-Downloads/Contrib

NOTE: to save space, please upload it into /share_www/ball-www/BALL-Downloads/Contrib only and make the others symlinks. NOTE: for backward compatibility, also create symlinks to contrib-X.Y-darwin.tar.gz and contrib-noview-X.Y-darwin.tar.gz.

Next, build the Windows Contribs. This has been simplified dramatically with the introduction of our hudson server at

ball-hudson.bioinf.uni-sb.de:8080

which has jobs for building the binary Contribs on Windows Server 2008 using Visual Studio 2010 in 32/64 bit and a Release/Debug variant, each. Run the jobs, grab their build artifacts, rename them to indicate the bit/build_type variant, and put them on the web server as well.

TODO:

  • create a build server for VS2008 as well as VS2010
  • build the contribs and packages on VS2008 also
  • upload source packages for Contrib on Windows as well

2. Create the new documentation

Do a make doc or make doc_dot in your BALL/build

Upload the results to

ball-www.bioinf.uni-sb.de

folder

/share_www/ball-www/BALL-Docs/your-release-number

Then, call

{{{ /share_www/ball-www/BALL-Docs/prepare_for_import.sh your-release-number }}}

to prepare the pages.

Also, remember to upload a current version of the BALLView documentation to

ball-www.bioinf.uni-sb.de

folder

/share_www/ball-www/BALL-Docs/BALLView/your-release-number

In both folders, remember to

{{{ rm Current ln -s your-release-number Current }}}

Then, you need to hook the documentation into the BALL plone. Log in on the page, go the documentation - folder, and add a folder "your-release-number" (without a "V"), then edit that folder again to change the title to "Release Vyour-release-number" (that way, the object name and title will be correct). Then, add a "Window" to the folder on the web server for BALL and BALLView. Name them "BALL Vyour-release-number" and "BALLView Vyour-release-number". Check the "Add reference link" box (or similar). Publish folder and both windows. Also, change the "Documentation/Current" url to reflect your changes.

Upload also a new version of the tutorial.

3. Create a tar ball for the sources

{{{ git archive --format=tar master --prefix=BALL-your-release-number/ > BALL-your-release-number.tar gzip -9 BALL-your-release-number.tar }}}

upload this tar ball to the web server (as above) to the directories

  • /share_www/ball-www/BALL-Downloads/Releases/all
  • /share_www/ball-www/BALL-Downloads/Releases/your-release-number

NOTE: to save space, only put the tar ball into your-release-number, and symlink it into all.

4. Create a MacOS dmg

This has simplified dramatically with the introduction of our hudson server. Make sure that the corresponding job has run successfully and grab the build artifact. Upload it to the web server into the same directory you put the tar ball.

NOTE: make sure that the name of the installer acutally makes sense (look at the older installers in Releases/all to decide this)

5. Create a windows installer

This also became much easier - make sure the corresponding jobs have finished successfully, grab the build artifacts, rename them suitably, and upload it into the same place you put the tgz and the dmg.

NOTE: make sure that the name of the installer acutally makes sense (look at the older installers in Releases/all to decide this)

6. Update debian packages

Test-build the debian packages and upload them or ask someone to upload them.

7. Download pages

Update the Downloads-page on www.ball-projects.org. Also, in the Plone downloads folder, create and publish a new reflector pointing to the downloads. Again, call this new reflector "your-version-number" without the "V", then rename it to include the "V". Plone is strange. Then, reindex the Contrib reflector on the download page.

8. Changelogs and Release Email

Put changelogs on the home page (into the Documentation page of the current release) and link to it on the Downloads page. Send out the release notes to the mailing list. Add a news item to the home page.

9. Update pages linking to BALL

Right now, we have project pages on

  • freshmeat.net
  • apple.com
  • kde-apps.org

Make sure to announce the new release there!

10. Tag your release

git tag your release and don't forget to push the tag.

11. Release Party

Invite both of your friends and celebrate! You are done!

Oh, actually you are not. Test the stuff while your friends celebrate...

Clone this wiki locally