Warzone 2100 Resurrection

Release checklist

From WarzoneWiki

Jump to: navigation, search

Contents

Testing

Make sure Windows, Linux and Mac OSX versions can be created. Test whether the game actually works on these platforms. In both single- and multiplayer!

Bump version numbers

The following files need editing to have the correct version.

ChangeLog

Edit the ChangeLog to be in sync with the latest changes. Also make sure to put the correct date and version there (the date that you make the release of course).

configure.ac

Make sure to put the correct version number in the second parameter of AC_INIT. The AC_INIT directive should be somewhere at the top of the file.

win32/warzone2100.rc

Put the correct version number after the FILEVERSION and PRODUCTVERSION directives. This must be four numbers separated by commas, for example, for 2.0.8 this would be:

FILEVERSION 2,0,8,0
PRODUCTVERSION 2,0,8,0

Then secondly in the version table modify the "FileVersion" and "ProductVersion" values. These are strings (you can use similar syntax as in C to put a string there). For version 2.0.8 this would look like this:

			VALUE "FileVersion", "2.0.8"
			// ...
			VALUE "ProductVersion", "2.0.8"

debian/changelog

You will need to add a new entry to the changelog (at the top of the file). This probably is the easiest to do by using the "dch" command line tool; use it like this:

dch -v <version>-<revision>

Make sure not to use underscores ('_') for suffixes like '_p1' or '_rc1', use a tilde ('~') instead.

In almost all cases you would want the <revision> to be 0 (zero) as this represents the package revision. Which in Debian starts at zero for packages released by upstream itself.

Then in the changelog file itself make sure to check whether your email is correct (this is the email that will be put in the generated *.changes file). Also make sure to add the contents for the current version (i.e. the one that is being released) to this changelog. Make sure though to wrap all lines longer than 80 characters (i.e. a line is only allowed to be 80 chars long).

lib/framework/config-macosx.h

Modify the PACKAGE_STRING macro to "Warzone 2100 <version>", the PACKAGE_VERSION macro to "<version>" and the VERSION macro to "<version>". E.g. for 2.0.8 this would be:

#define PACKAGE_STRING "Warzone 2100 2.0.8"
#define PACKAGE_VERSION "2.0.8"
#define VERSION "2.0.8"

Add new version to the Bug Tracker

Make sure to create a new version in the Bug Tracker so people can submit bug-reports for it.

Pull translations from Launchpad

Do not forget to download translations from Launchpad.

Update trunk change logs

Update trunk ChangeLog

Copy the newly created ChangeLog entry over to the trunk's ChangeLog (other branches don't matter, but trunk does). (svn merge helps)

Update trunk debian/changelog

Copy the newly created changelog section over to trunk's Debian changelog. Make sure to keep the correct order of versions though (i.e. the "highest" version number needs to be on top). (svn merge helps)

Tag the release in SVN

Make sure to create a new tag for this release in the Subversion repository.

Also in that tag make sure to modify autorevision.conf:

wc_uri=tags/<tagname>

Here <tagname> should be the directory name of the tag in Subversion

Create a source tarball

Don't forget to run ./autogen.sh

Create an AutoPackage / MojoSetup

  • Do it on a Debian system, so the deps are correct!
  • Link PhysFS statically!

Create an NSIS installer and updater

Installer is easiest created using the __BUILD_SCRIPT (adapt __BUILD_CONFIG before).

For the updater you need to create the necessary patchfiles with GenPat.
This works as follows: GenPat /some/where/old_version /some/where/else/new_version file.vpatch

Add new version to the Releases-article (Wiki)

Make sure to list the new release in the Releases-article.

Announce the release