pygame / docs / howto_release_pygame.txt

Here are some steps for making a new release of pygame.  So everyone knows what needs to be done to make a release work smoothly.


== release steps ==

*  declare next release as coming soon to developers, and mailing list.
*  declare feature freeze.
*  check with people on different platforms that tests are working.  
*  ask platform people to sign off for their platform building, and testing ok.  
*  WHATSNEW document is updated, with any changes.
*  declare tar ball set, by making a branch in svn with the pygame version as rc1.  eg 1.7.1rc1
   - files to change version string: lib/version.py setup.py readme.html readme.txt
   - This is the subversion command used:  svn copy svn://seul.org/svn/pygame/trunk svn://seul.org/svn/pygame/tags/release_1_8_0rc1 -m "new 1.8.0rc1 release."
*  second round of testing goes on the new release branch.  If any changes need to be made, all platforms need to be tested again and signed off.  The pygame rc version is incremented and a new rc tar ball is released.  eg 1.7.1rc2.
*  if no changes needed to be made to the rc release, then the version is changed.  eg from 1.7.1rc1 to 1.7.1release
*  release person uploads final sources tarball to website.
*  documentation is remade, and uploaded to website, not before sources.
*  release binaries, not before sources.
*  announce to the mailing list, and the world that a new pygame is released.
*  the version of pygame is incremented by 1 and pre appended.  eg 1.7.1 goes to 1.7.2pre


== Some definitions and explanations. ==

release person := person who is in charge of doing release.  Should be one person.

platform people := people responsible for each platform.  eg macosx, windows, linux, freebsd etc.

testing pygame := at least all the examples run ok.  Also test major pygames, solarwolf, and pyddr work.  Try to run other gamelets, and games that you know of.  Try to test with different parts installed/uninstalled etc.

rc releases := these are release candidates.  If no changes need to be made, then the pygame version is changed and it can be released.

pre releases := these are snap shots from svn.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.