Brief approximation: * Check that SVN compiles and runs on Linux * Check that SVN compiles and runs on Linux with `--without-pch` * Check that SVN compiles and runs on Windows * Check that SVN compiles and runs on OS X * Run Windows autobuilder * Update public trunk checkout * Ensure it is clean (`svn st --no-ignore`) * Run `source/tools/dist/build.sh` * Test on Windows: * Delete `%appdata%\0ad\cache` * Extract release * Run `pyrogenesis.exe`, check everything seems to work * Run `Atlas.bat`, check everything seems to work * Delete `%appdata%\0ad\cache` * Build Debug version, check everything seems to work * Run `test` project * Test on Linux: * Delete `~/.cache/0ad` * Extract release * Build, `test_dbg`, run game, run editor * `CONFIG=Release` build, `test`, run game, run editor * Test on OS X: * Update !MacPorts * Same as Linux (but editor won't work) * Update OBS packages [https://build.opensuse.org/package/show?package=0ad&project=games 0ad], [https://build.opensuse.org/package/show?package=0ad-data&project=games 0ad-data]: * Update version numbers in `0ad.changes`, `0ad.dsc`, `0ad.spec`, `debian.changelog` * Replace `.tar.gz` with new version * Update [https://launchpad.net/~wfg/+archive/0ad PPA packages]: * Find an Ubuntu machine. * Copy `source/tools/dist/ubuntu/` into a place for packaging * Update `changelog` files * Update `build.sh` version number * Run `build.sh`. (Optionally disable the `debuild -b` lines because they're not needed, we only require the source packages.) * `dput ppa:wfg/0ad ` * Update [http://bugs.gentoo.org/show_bug.cgi?id=278541 Gentoo package]: * Bump version number * `FEATURES=test emerge 0ad` * Upload to Bugzilla * On error goto beginning * Upload releases to server * Verify sha1sums on server * Upload to Sourceforge: `rsync -v --progress -e ssh 0ad-${SVNREV}-*.{exe,gz,xz} philiptaylor,zero-ad@frs.sourceforge.net:/home/frs/project/z/ze/zero-ad/releases/` * Update release redirects to point to SF * Update LatestRelease page (all links and checksums) * Announce release * ? * Profit