Version 54 (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
Create a release coordination ticket with keyword release. The coordination ticket is usually created early in the milestone.
Check the t.e.o wiki
- Update the ChangeLog 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
(replace trunk below with the corresponding branches/X-stable when preparing a minor releases)
Wiki related files
- Verify that TracStandalone#Reference matches current
tracd --help
- If needed, do a last sync
- Check all default wikipages for TracLinks to non existing pages/resources
- Verify that trunk/trac/wiki/default-pages contains all pages listed in TracProject/DefaultWikiPages
- Update trunk/RELEASE from wiki ChangeLog
- Update trunk/ChangeLog from wiki ChangeLog with release date (e.g. r11678)
- Update trunk/INSTALL from wiki TracInstall
- Update trunk/UPGRADE from wiki TracUpgrade
Other repository files
- Import the translations from Transifex that have no committers
- Check the trunk/THANKS file
- Check version number in trunk/setup.py, trunk/trac/wiki/default-pages/WikiStart, trunk/doc/conf.py, and trunk/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
andtag_svn_revision
settings in trunk/setup.cfg
Create dist packages
Note: be sure to use Python 2.7 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
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 also listed in the.svn/entries
files are considered
(that is, until distribute issue252 gets fixed)
- Build Windows installers on x86 and x64 platforms
- .exe installer
python.exe setup.py bdist_wininst
--user-access-control
option → "auto" doesn't help and "force" is annoying, as it will always ask for privilege escalation even if not actually needed; Instead, use Python 2.7.9, which creates installers which will simply warn that (manual) privilege escalation is needed, when it's needed (cf. Python-Issue:16561) - .exe installer
- 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 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
- 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.
- 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
- Update version number in trunk/setup.py, trunk/trac/wiki/default-pages/WikiStart, trunk/doc/conf.py, and trunk/trac/__init__.py
- Uncomment
tag_build
andtag_svn_revision
settings in trunk/setup.cfg
See also: TracDev