Note: See ReleaseProcessDraft for a more specific (and updated) list.
Brief approximation:
- Ensure Alpha name and number have been updated in label.xml, mainmenu.xml, mod.json, and Pyrogenesis.cpp.
- Feature freeze + regenerate the translation templates via updateTemplates.py and the translations (for backup purposes) via pullTranslations.py
- Test for release blocking bugs (minimum 5 days, promised to the translators)
- Commit freeze + pull final version of translations for this version and check for vandalism
- Edit the remove-incomplete-translations.sh script to include all languages that need to be in the release (Include only >90% languages supported by our fonts and font system - see progress on Transifex)
- Test some more
- Change the MUC room for the lobby in default.cfg and on the server. (Maybe reset the rankings)
- Change the bot's welcome message to notify users that a new version is available.
- Check that SVN compiles and runs on Linux
- Check that SVN compiles and runs on Linux (Gentoo) with
--without-pch
- Check that SVN compiles and runs on Windows
- Check that SVN compiles and runs on OS X
- Run Windows autobuilder (or build manually with VS 2008 if autobuild is down - update svn_revision.txt first!)
- Update public trunk checkout
- Ensure it is clean (
svn st --no-ignore
) - Check that debug/unnecessary files are excluded from the Windows installer script source/tools/dist/0ad.nsi
- Run source/tools/dist/build.sh
- Build OS X app bundle:
- Requires OS X and Xcode
- Read documentation in build-osx-bundle.sh, update options if necessary (defaults work with Xcode 4.2+ and Lion)
- Run
build-osx-bundle.sh --release
, by default it creates a 64-bit 10.7+ compatible bundle,~/0ad-export/0ad.app
- Package app into DMG (as outlined here and here)
- Use Disk Utility to create an uncompressed DMG large enough to hold
0ad.app
- Set background image,
build/resources/dmgbackground.png
- Copy
0ad.app
and Applications shortcut, arrange icons, set folder view options as desired - Create a bzip2-compressed DMG with hdiutil:
hdiutil convert 0ad.dmg -format UDBZ -o 0ad-[version]-alpha-osx64
- Use Disk Utility to create an uncompressed DMG large enough to hold
- Test on Windows:
- Delete
%localappdata%\0ad\cache
- Extract release
- Run
pyrogenesis.exe
, check everything seems to work - Run
Atlas.bat
, check everything seems to work - Delete
%localappdata%\0ad\cache
- Build Debug version, check everything seems to work
- Run
test
project
- Delete
- Test on Linux:
- Delete
~/.cache/0ad
- Extract release
- Build with
config=debug
, runtest_dbg
, run game, run editor - Build with
config=release
, runtest
, run game, run editor
- Delete
- Test on OS X:
- Delete
~/Library/Caches/0ad/
- Mount release DMG
- Run 0ad and test that it works on e.g. Snow Leopard and Lion
- Test Atlas (main menu > Tools & Options > Scenario Editor)
- Delete
~/Library/Caches/0ad/
- Delete
- Update OBS packages 0ad, 0ad-data:
- Update version numbers in
0ad.changes
,0ad.dsc
,0ad.spec
- Replace
.tar.gz
with new version
- Update version numbers in
- Update PPA packages (ping ricotz on IRC):
- 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 thedebuild -b
lines because they're not needed, we only require the source packages.) dput ppa:wfg/0ad <source.changes>
- On error goto beginning
- Upload releases to http://releases.wildfiregames.com/
- 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 release pages (links, file sizes, checksums?):
- Announce release:
- Official website http://play0ad.com
- Forum
- Update Alpha version on official website (Settings > General > Tagline)
- Update download pages on official website (http://play0ad.com/download/mac, http://play0ad.com/download/win, http://play0ad.com/download/source)
- Official social media platforms (Facebook, Twitter, Google+.)
- ModDB/IndieDB
- Freecode
- Freegamer
- E-mail regular bloggers/reporters
- ?
- Profit
Building on EC2
Sign up to EC2. Create an EC2 instance (Ubuntu 14.04, 64-bit, c3.xlarge). ssh into it (as user 'ubuntu').
screen sudo apt-get update sudo apt-get upgrade sudo apt-get install zip cmake nsis p7zip-full # Standard dependencies for building the game: sudo apt-get install build-essential libboost-dev libboost-filesystem-dev \ libboost-signals-dev libcurl4-gnutls-dev libenet-dev libminiupnpc-dev \ libnspr4-dev libnvtt-dev libogg-dev libopenal-dev libpng-dev \ libsdl2-dev libvorbis-dev libwxgtk2.8-dev libxcursor-dev libxml2-dev \ subversion zlib1g-dev libgloox-dev libicu-dev sudo mkdir /mnt/0ad sudo chown ubuntu:ubuntu /mnt/0ad cd /mnt/0ad svn co http://svn.wildfiregames.com/public/ps/trunk/ 0ad cd 0ad/build/workspaces ./update-workspaces.sh -j4 cd gcc make -j4 mkdir /mnt/0ad/dist cd /mnt/0ad/dist cp ../0ad/source/tools/dist/build.sh . cp ../0ad/source/tools/dist/remove-incomplete-translations.sh . nano build.sh # change PREFIX ./build.sh rsync -avP 0ad-*.{tar.gz,tar.xz,exe} philip@zaynar.co.uk:/var/www/releases/rc/
Then delete the EC2 instance so you don't keep paying for it.
The whole process takes about 2 hours.
Last modified
8 years ago
Last modified on Mar 13, 2016, 2:05:31 PM
Note:
See TracWiki
for help on using the wiki.