Version 85 (modified by 9 years ago) ( diff ) | ,
---|
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
- Update the TracChangeLog page
- Verify TracInstall and TracUpgrade
- For major releases:
- check TracDev/ReleaseNotes, go through the tickets which have an empty Release Notes field and say a word there
- check TracDev/ApiChanges
Check the source
Wiki related files
- Verify that TracStandalone#Reference matches current
tracd --help
- Verify that trac/wiki/default-pages matches the list of pages in TracProject/DefaultWikiPages
- Sync the wiki
- Update RELEASE from wiki TracChangeLog
- Sync INSTALL from wiki TracInstall using contrib/wiki2rst.py
$ ./contrib/wiki2rst.py TracInstall > INSTALL
- Sync UPGRADE from wiki TracUpgrade using contrib/wiki2rst.py
$ ./contrib/wiki2rst.py TracUpgrade > UPGRADE
Other repository files
- Remove extraneous whitespace in python source files using reindent
- Import the translations from Transifex that have no committers
- Check the THANKS and AUTHORS files
- Check version number in setup.py, trac/wiki/default-pages/WikiStart, and trac/__init__.py
- Check whether the jQuery and jQuery UI version numbers mentioned in the help match the actual ones (see for example r11041)
- Comment out
tag_build
setting in setup.cfg - Update copyright year on about page and COPYING file
- Check whether there are any eligible changesets that have not been merged into the branch
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:
in order to get the files in
python setup.py sdist --formats=gztar,zip
.tar.gz
andzip
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 withtracd
- upgrade an environment created with the previous release'
trac-admin
, test it withtracd
- create an environment with
Finalize the release
- Tag/copy version in subversion
- 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 (*)
- Upload to http://ftp.edgewall.org/pub/trac
- Update TracDownload and TracDev/ReleaseNotes/1.1
- Upload the packages to PyPi using Twine (*)
- Test
easy_install Trac
- Post to the following channels:
- trac-users, trac-dev (all releases)
- trac-announce, #TracProject, python-announce
- 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
- Uncomment
tag_build
setting in setup.cfg - Update version number in setup.py, trac/wiki/default-pages/WikiStart, and trac/__init__.py
- Create a new ApiChanges page by copying the HEAD revision of the ApiChanges page of the previous milestone (e.g. TracDev/ApiChanges/1.1.3@16 → TracDev/ApiChanges/1.1.4@1).
- Create a release coordination ticket with keyword release.
- Update the Current target releases.
See also: TracDev