Version 5 (modified by Yves, 10 years ago) ( diff )

Additional packaging tasks

Standard schedule

  1. Day 0: Feature freeze
  2. Day 3: String freeze
  3. Day 6: Translation freeze
  4. Day 6: Commit freeze
  5. Day 7: Packaging
  6. Day 9: Release

Phases

Name Tasks to complete
Development Start release process, Announce string freeze
Feature freeze Organize staff match (testing)
String freeze
Translation freeze Confirm translation freeze, Translation check
Packaging Prepare for packaging
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" column). 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 17

Task shortname Accepted by Deadline Status
Start release process

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

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

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 (TODO: where?), 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

Multiplayer lobby adjustments

Description

  • Change the MUC room for the lobby on the server and maybe reset rankings.
  • Change the bot's welcome message to notify users that a new version is available.


Can be completed in phase: ???
Candidates: Leper, Josh, Scythetwirler

Prepare for packaging

Description

  • Ensure Alpha name and number have been updated in label.xml, mainmenu.xml, and XmppClient.cpp.
  • Edit the build.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)
  • 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 2008 if autobuild is down - update svn_revision.txt first!)


Can be completed in phase: ???
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


Can be completed in phase: Packaging
Candidates: Whole team

Packaging: Mac OS X

  • 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, 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


Can be completed in phase: Packaging
Candidates: Historicbruno, Wraitii

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

Note: See TracWiki for help on using the wiki.