-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
ReleaseSteps
zzzeek edited this page Mar 10, 2015
·
11 revisions
Assume version X.Y.Z
- website prep
- cd to sqlalchemyorg tree
- create site/_posts/NNN. sqla X.Y.Z released.rst; git add
- version status etc. is now dynamic, so need to release to pypi first.
- startup
- git clone -b rel_X_Y from dev/sqlalchemy to tmp/saXYZ
- cd tmp/saXYZ
- version number
- version number in
lib/sqlalchemy/__init__.py->__version__ - version number in
doc/build/conf.py->release - release date in
doc/build/conf.py->release_date - version number in doc/build/changelog/changelog_XX.rst
- release date in doc/build/changelog/changelog_XX.rst
- version number in
- check new major version (these should be totally done long before a release)
- major version in: docs/build/intro.rst, docs/build/core/tutorial.rst, docs/build/orm/tutorial.rst
- ensure correct "upgrading from P to Q" in docs/build/intro.rst
- new year / other (should be done long before a release)
- Current year in copyright message in all files
- Current year in LICENSE
- Ensure AUTHORS up to date
- tagged tree prep
- git commit -a
- edit setup.cfg, remove
tag_build=dev - cd doc/build; make dist-html
- test source build
- cd tmp/saXYZ
- python setup.py sdist
- cd ..; tar -zxf saXYZ/dist/SQLAlchemy-X.Y.Z.tar.gz
- Browse docs at tmp/SQLAlchemy-X.Y.Z/doc/index.html
- python setup.py test - make sure the full blown setuptools test works
- create tag
- cd tmp/saXYZ
- git tag rel_X_Y_Z
- prod release - send to pypi
- cd tmp/saXYZ
- python setup.py register
- python setup.py sdist upload
- prepare tag/changelog for push
- cd /path/to/master
- git checkout rel_X_Y
- git pull tmp/saXYZ
- git fetch --tags tmp/saXYZ
- git checkout master
- git show rel_X_Y doc/build/changelog/changelog_XX.rst | patch -p1
- git commit -a
- git mergeto
- git push --all
- git push --tags
- publish website
- blogodev
- test at http://localhost:8080 - check download.html, sidebar on all pages, CHANGES, "What's New?" links, blog posts
- git commit -a
- cd into sqlalchemyorg tree; git push ln2; git push
- check sqlalchemy.org
- check docs.sqlalchemy.org, readthedocs should have the new version
- update docs
- go to readthedocs/sqlalchemy, do a doc build for rel_0_X
- Roadmap
- Ensure a milestone for the next version, i.e. X.Y.Z+1, is present.
- Navigate to the X.Y.Z milestone - close it. Move all remaining tickets to the X.Y.Z+1 milestone.
- additional announcements
- email to [email protected]; [email protected]; "SQLAlchemy X.Y.Z Released". Comments, paste CHANGES for that release only at bottom of email, include download link