Scrapy Release Procedure
1. Make sure all unit tests pass
- in *nix: install Scrapy using python setup.py install and make sure all unittests pass by running trial scrapy.tests
- in win32: install Scrapy using windows installer and make sure all unittests pass by running c:\python26\scripts\trial scrapy.tests
2. Update version and tag hg repo
- Update version accordingly in setup.py
- tag hg repo - for example: hg tag 0.8-rc1
3. Build source tarball
hg purge --all python setup.py sdist
4. Build win32 release
IMPORTANT: The following commands must be run in a Windows box due to a bug in bdist_wininst command
hg purge --all python setup.py bdist_wininst
5. Sign release files
Put Scrapy-X.Y.Z.tar.gz and Scrapy-X.Y.Z.win32.exe in dist/ and run:
extras/sign_release.sh
6. Upload release files
Upload release and signature files to http://scrapy.org/releases/
7. Branch hg repos and doc (only for major releases)
Assume OLD_VER is the old stable version, and NEW_VER is the new stable version.
- cd /home/hg/repos
- cp -r scrapy-OLD_VER scrapy-NEW_VER
- cd /home/hg/repos; ln -sf scrapy-NEW_VER scrapy; ln -sf scrapy-OLD_VER scrapy-stable
- cd /srv; hg clone /home/hg/repos/scrapy-NEW_VER scrapy-NEW_VER
- edit /home/hg/repos/hgadmin/hgweb/hgweb.config and add a line with the new version
- edit /etc/lighttpd/conf.available/30-insophia.conf and adjust doc aliases
- edit /etc/incron.d/scrapy-update and
- add a line for the new version
- update the version used on scrapy-github script
- update /etc/cron.d/scrapy
7. Publish new release on PyPI
- Register the new release version with: python setup.py register
- Login to PyPI, go to edit Scrapy project, and upload the new release files
Need to enter the URL manually, like: http://pypi.python.org/pypi?:action=files&name=scrapy&version=0.8
8. Update home page
- Update Download page to point to the new release
- Update home page News section notifying about the new release
9. Update default version in Trac
Edit /var/trac/scrapy/conf/trac.ini and update default_version value.
10. Send announcement to scrapy-users
Send email announcing the new release to scrapy-users list.
