Version 99 (modified by 8 years ago) ( diff ) | ,
---|
Table of Contents
- Standard schedule
- Release progress table
- Task descriptions
- Start release process
- Announce string freeze
- Organize staff match (testing)
- Confirm translation freeze
- Translation check
- Update translators credits
- Package East Asian mods
- Multiplayer lobby adjustments
- Prepare for packaging
- Setup packaging
- Packaging: Windows and Linux
- Packaging: Mac OS X
- Uploading RCs
- Package testing: Linux
- Package testing: Mac OS X
- Package testing: Windows
- Upload to Sourceforge
- Create torrents and checksum files
- Write release announcement
- Create release video
- Release: Notify packagers
- Release: Publish announcement
- Update release progress on Trac
Standard schedule
- Day 0: Feature freeze
- Day 3: String freeze
- Day 6: Translation freeze
- Day 6: Commit freeze
- Day 7: Packaging
- Day 9: Release
Release progress table
Put your name into the "Accepted by" column to take over a task and agree to completed it in time according to the Deadline. Update the status column regularly enough to keep team member informed. Especially note if you are waiting for input or are otherwise prevented from working on the task.
Next release: Alpha 21 Ulysses
Current phase: Commit Freeze
Development
Deadline: 25th September
Task | Accepted by | Status |
Start release process | Team |
Feature freeze
Deadline: 25th September 2016 12PM CEST
Task | Accepted by | Status |
Organize staff match (testing) | Lots of people playing SVN |
String freeze
Deadline: 29th September 2016
Task | Accepted by | Status |
Announce string freeze | Itms | Done |
Translation freeze
Deadline: 1st November 2016
Task | Accepted by | Status |
Confirm translation freeze | Itms | Done |
Translation check | Itms | Done |
Update translator credits | Itms | Done |
Package East Asian mods | Itms | Done |
Packaging
Deadline: (can start after latest translations are committed)
Task | Accepted by | Status |
Prepare for packaging | Team | Done |
Packaging: Windows and Linux | Itms | Done |
Packaging: Mac OS X | wraitii | Done |
Uploading RCs | Itms | Done |
Package testing: Linux | fatherbushido | Done |
Package testing: Windows | Itms, Players: Vercingetorix, Grugnas, merlin1, PhyZic | Done |
Package testing: Mac OS X | wraitii, Players: nigel87, moe, Ser3195 | Done |
Upload to Sourceforge | ||
Create torrents and checksum files | Itms |
Release
Deadline:
Task | Accepted by | Status |
Write release announcement | erik_feneur, FeXoR, elexis | Mostly done |
Create release video | Brynn, elexis | Done |
Notify packagers | Itms | |
Publish announcement | erik_feneur | |
Prepare lobby | scythetwirler | Done |
Task descriptions
Start release process
Description:
The team decides that there are enough new features and that it's time to release a new alpha version. Usually in a team meeting, we decide when the regular schedule starts and if there are any differences to the predefined schedule.
Can be completed in phase: Development
Candidates: Whole team (usually at the meeting)
Announce string freeze
Description:
Translators should be informed about the planned String freeze date and the Translation freeze date. The idea is to give them some time to polish the final translations for the release. During development, they probably don't always update translation within a few days after something has changed. Also upload updated .pot files and make sure you update them if original strings change or get added in the next days.
Can be completed in phase: Development
Candidates: Gallaecio, Leper, Sanderd17, Yves, Itms
Organize staff match (testing)
Description:
If possible a staff match should be organized before the release. Often important bugs get discovered in such staff matches. Organizing the match means finding a good date and time and informing the other team members (or community members).
Can be completed in phase: Development
Candidates: Whole team
Confirm translation freeze
Description:
You make another announcement on the translation platform at the specified and announced Translation freeze date (assuming it hasn't changed in the meantime). After that, you regenerate the translation templates via updateTemplates.py and the translations (for backup purposes) via pullTranslations.py.
Can be completed in phase: Translation freeze
Candidates: Gallaecio, Leper, Sanderd17, Yves, Itms
Translation check
Description:
Check the translations for "vandalism". It's really just checking if there are any strings that were added in bad intent and not about trying to improve translation quality. There's a script to check the translation files for URLs (checkTranslationsForSpam.py), but this task also involves manual checking. Obviously we can't carefully read through all strings in all translations.
Can be completed in phase: Translation freeze
Candidates: Whole team
Update translators credits
Description:
Run the script creditTranslators.py in order to populate the "Translators" credits page.
Can be completed in phase: Translation freeze
Candidates: Whole team
Package East Asian mods
Description:
- Get the latest version of Source Han Sans fonts for CJK languages.
- For each East Asian language complete enough, select the font subset for the language under the SubsetOTF directory. The interesting fonts should be Normal size for most of our fonts and Medium size for the two bold ones.
- Follow the steps from wiki:Adding_font_support in order to render the fonts. Don't do the font caching already.
- Create a mod for each language, containing a
mod.json
, afonts/
folder in which to place the rendered fonts and the licence text files, and al10n
folder. Place the .po files for the language in the latter. - Use the following command to build an archive for each mod (here is the example for ja):
./pyrogenesis -mod=mod -archivebuild-compress -archivebuild=/path/to/0ad/binaries/data/mods/ja-lang-0.0.XXX -archivebuild-output=/path/to/0ad/binaries/data/mods/ja-lang-0.0.XXX/ja-lang-0.0.XXX.zip
Can be completed in phase: Translation freeze
Candidates: Whole team
Multiplayer lobby adjustments
Description
- Maybe reset SVN (current alpha) rankings.
- Change the bot's welcome message to notify users that a new version is available.
- Create a new MUC room and add a new bot for the SVN version.
Can be completed in phase: Release
Candidates: Leper, Josh, Scythetwirler
Prepare for packaging
Description
- Ensure Alpha name and number have been updated in label.xml, mainmenu.xml, mod.json, and Pyrogenesis.cpp.
- Remove the "new" keyword from all maps of prior releases and add it to the maps of the current release.
- 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)
- Check that debug/unnecessary files are excluded from the Windows installer script source/tools/dist/0ad.nsi
- Change the MUC room for the lobby in default.cfg
- 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 2013 if autobuild is down - update svn_revision.txt first!)
Can be completed in phase: Feature Freeze
Candidates: Whole team
Setup packaging
Description
These are common tasks that need to be done for all packaging on all systems.
- Update public trunk checkout
- Ensure it is clean (
svn st --no-ignore
)
Can be completed in phase: Packaging
Candidates: People doing packaging
Packaging: Windows and Linux
Description
- Complete the steps in Setup packaging
- Run source/tools/dist/build.sh
Can be completed in phase: Packaging
Candidates: Whole team
Packaging: Mac OS X
Description
- Complete the steps in Setup packaging
- 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
Can be completed in phase: Packaging
Candidates: Historicbruno, Wraitii, Trompetin17
Uploading RCs
Description
- Upload the packages for OSX, Unix, Windows, and the CJK mods to http://releases.wildfiregames.com/rc/.
- In case several RCs are created because of bugfixes, do not overwrite old RCs until the release happens.
- Run the update script to generate sums (torrents won't be generated for RCs).
- Verify sums on server.
Can be completed in phase: Packaging
Candidates: implodedok, Itms
Package testing: Linux
Description
- Delete
~/.cache/0ad
- Extract release
- Build with
config=debug
, runtest_dbg
, run game, run editor - Build with
config=release
, runtest
, run game, run editor
Can be completed in phase: Packaging
Candidates: Whole team
Package testing: Mac OS X
Description
- 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/
Can be completed in phase: Packaging
Candidates: Whole team
Package testing: Windows
Description
- 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
Can be completed in phase: Packaging
Candidates: Whole team
Upload to Sourceforge
After all packages are created and tested, they can be uploaded to sourceforge.
rsync -v --progress -e ssh 0ad-0.0.N-*.{exe,gz,xz,dmg} philiptaylor,zero-ad@frs.sourceforge.net:/home/frs/project/z/ze/zero-ad/releases/
Can be completed in phase: Packaging
Candidates: Philip, leper, historic_bruno
Create torrents and checksum files
On releases.wildfiregames.com:
- Move the good RCs from
www/rc/
towww/
, and delete the others - Run
./update
Can be completed in phase: Packaging
Candidates: Everyone with access to releases.wildfiregames.com (implodedok, Itms, leper, historic_bruno, Philip)
Write release announcement
Description
- Write a release announcement that will be published on the website and other places like Moddb.
- Describe new features, content and major bugfixes. If necessary ask people to provide descriptions.
- Create one or more unique screenshots that fit well for this Alpha release (or find someone to create these).
- Write a short description of the Alpha name and the reasons why we have chosen this name (historical term around the timeframe of 0 A.D.).
Can be completed in phase: Feature freeze
Candidates: Jeru, Feneur, elexis, Everyone
Create release video
Description
An Alpha release video showcases the new features, content and major bugfixes of this version. It focuses more on the features that can be shown well in a video. Remember to upload the video on the play0ad youtube channel.
Can be completed in phase: Feature freeze
Candidates: Brynn, elexis
Release: Notify packagers
Description
- Arch 0ad 0ad-data - Flag Package Out of Date
- Debian - ping vincent_c on IRC
- Fedora - email pcpa (see owner)
- FreeBSD - email madpilot@ (See https://www.freebsd.org/cgi/ports.cgi?query=0ad)
- Gentoo - email hasufell@
- Mageia - ping Akien on IRC or email akien@ (See http://pkgsubmit.mageia.org/data/maintdb.txt, http://svnweb.mageia.org/packages/cauldron/0ad/current/)
- OpenBSD - email bentley@
- Ubuntu (PPA) - ping ricotz on IRC
Can be completed in phase: Release
Candidates: Leper, Everyone
Release: Publish announcement
Description
- 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
Can be completed in phase: Release
Candidates: Feneur, Jeru, Leper
Update release progress on Trac
Description:
Remove all content from the Release progress table and replace "Next release" with the right version number.
Can be completed in phase: Development
Candidates: Everyone