Edgewall Software

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

Make sure there aren't any changesets needing to be merged.

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

Create a release coordination ticket with keyword release. The coordination ticket is usually created early in the milestone.

Check the t.e.o wiki

Check the source

(replace trunk below with the corresponding branches/X-stable when preparing a minor releases)

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 installers on x86 and x64 platforms. Babel must be installed in the environment used to build the installers.
    • .exe installer
      python.exe setup.py bdist_wininst
      
  • Test installation on all 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
  • Update PyPi entry (*)
  • Post on Trac-users, Trac-dev (all releases) and Trac-announce, #TracProject, Python-announce (only for non-beta releases)
  • 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 set #trac entrymsg "The topic is: http://trac.edgewall.org/ | http://trac-hacks.org/ | Latest version - <version>."
    

(*) not for beta or rc releases

Prepare for development


See also: TracDev

Note: See TracWiki for help on using the wiki.