Version 15 (modified by 11 years ago) ( diff ) | ,
---|
Brief approximation:
- Feature freeze
- Test for release blocking bugs
- Commit freeze
- Test some more
- Ensure Alpha name and number have been updated in session.xml and mainmenu.xml
- 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
) - 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
, by default it creates a 64-bit 10.6+ compatible bundle,build/workspaces/0ad.app
- Optionally build a 32-bit 10.5+ bundle, following Cross-compiling a 32-bit Leopard bundle.txt
- 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/
- Optionally test 32-bit bundle if available
- 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>
- Update Gentoo package (now maintained in hasufell-overlay) (ping hasufell on IRC):
- Bump version number
FEATURES=test emerge 0ad
- Upload to Bugzilla
- 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 12.04, 64-bit, c1.medium). ssh into it (as user 'ubuntu').
screen sudo apt-get update 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 libjpeg-dev \ libmozjs185-dev libnvtt-dev libogg-dev libopenal-dev libpng-dev \ libsdl-dev libvorbis-dev libwxgtk2.8-dev libxcursor-dev libxml2-dev \ subversion zlib1g-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 . 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.
Note:
See TracWiki
for help on using the wiki.