Edgewall Software

Version 82 (modified by Ryan J Ollos, 9 years ago) ( diff )

Version is no longer stored in the file.

Checklist of things to do before a release

Preparing a minor release 1.x.y

2 weeks before

Announce a string freeze on Trac-dev, so that the translators can catch up with the last changes.

Update the TracDev/ReleaseTesting page, ask for testers.

1 week before

Prepare the rc1 packages according to the procedure described below in Release steps, test and upload them.

Testing period. Only critical or no risk fixes.

Preparing a major release 1.x

1 month before

Announce a beta1 / string freeze on Trac-dev.

2 weeks before

Prepare the rc1 packages.

Testing period. Only critical or no risk fixes.

Release steps

Check the t.e.o wiki

Check the source

Wiki related files

Other repository files

Create dist packages

Note: be sure to use Python 2.7.9 or later on Windows

  • Check out trunk (or the release branch) to a clean sandbox
  • Build source archives on Unix:
    python setup.py sdist --formats=gztar,zip
    
    in order to get the files in .tar.gz and zip archives, with the proper LF line endings.

The sdist command must be performed from a svn < 1.7 checkout, as only the data files listed in the .svn/entries files are considered (that is, until distribute issue252 gets fixed). If svn ≥ 1.7 is used, then setuptools_subversion must be installed.

  • Build Windows exe installers on x86 and x64 platforms. Babel must be installed in the environment used to build the installers.
    python.exe setup.py bdist_wininst
    
  • Test installation on target platforms.
    Install on a clean system. Remove any old Trac installation before testing.
  • Smoke test:
    • create an environment with trac-admin, test it with tracd
    • upgrade an environment created with the previous release' trac-admin, test it with tracd

Finalize the release

  • Tag/copy version in subversion
  • Upload to http://ftp.edgewall.org/pub/trac
  • Update TracDownload and TracDev/ReleaseNotes/1.1
  • Test easy_install Trac
  • Upload the packages to PyPi using Twine (*)
  • Post to the following channels:
  • Close release coordination ticket (e.g. #9077) (*)
  • Mark the finished milestones as completed (with the completed date preferably being the date that the releases were announced), and change their descriptions from next maintenance/development release to latest maintenance/development release.
    • The next set of milestones should have their descriptions changed to next maintenance/development release.
    • The previous set of milestones should have their descriptions changed to remove the latest maintenance/development release message.
    • Attach copy of translations statistics chart of Transifex to the milestones.
  • Add Version entries for the new releases (*)
  • Update the version displayed in the #trac IRC channel entry message (*)
    /msg ChanServ topic #trac "The topic is: http://trac.edgewall.org/ | http://trac-hacks.org/ | Latest version - <version>."
    
  • Update the versions on the Wikipedia page.

(*) not for beta or rc releases

Prepare for development


See also: TracDev

Note: See TracWiki for help on using the wiki.