Maintenance information

Note

This is internal documentation for Zope developers having to create official Zope releases.

Release process

Maintainers

The following persons have access to the Zope2 package on PyPI (in order to release new versions):

  • Hanno Schlichting
  • Michael Howitz
  • Tres Seaver

Steps for creating a new Zope release

  • Check the versions.cfg file for outdated or updated packages and update version information where necessary.

  • Update version information:

    • setup.py (remove dev postfix)
    • versions-prod.cfg (pin Zope2)
    • requirements-full.txt (pin Zope2)
  • The requirements-full.txt is autogenerated on each bin/buildout run. So instead of manually adjusting it, you can update versions-prod.cfg and then run bin/buildout once.

  • Update docs/CHANGES.rst with a release date.

  • Run all tests:

    bin/tox
    
  • Run all tests for all dependencies:

    bin/alltests-py27
    bin/alltests-py34
    ...
    bin/alltests-pypy3
    
  • Tag the release.

  • Upload the tagged release to PyPI:

    python2.7 setup.py egg_info -RDb '' sdist register upload
    
  • Update version information:

    • setup.py (bump version number, add dev postfix)
    • versions-prod.cfg (remove Zope2 pin)
    • requirements-full.txt (replace Zope2 pin by git reference, either manually or run bin/buildout).
  • Check the visible releases on readthedocs.org at (should default to showing the active branches):

    https://readthedocs.org/dashboard/zope/versions/