wiki:ReleaseProcess

Version 11 (modified by dread, 3 years ago) (diff)

--

About CKAN Releases

The OKF aims to make releases CKAN regularly - minor points every two months. Find releases at: PyPI. See the changes at on the Changelog.

See also: VersioningPolicy

Approaching CKAN release - alpha release

  1. Change the version number to the next version alpha in ckan/init.py e.g. 1.2a
  2. Commit and push this change.
  3. Bring metastable branch in line with default:
    $ hg up -C metastable
    $ hg merge -r default
    $ nosetests ckan/tests
    $ hg ci -m '[merge] from release 1.1a.'
    $ hg push
    

Doing a CKAN release

  1. Test the code satisfactorily.
  2. Summarise the tickets going in this release in the ckan/doc/CHANGELOG.rst
  3. Remove the pre-release letter in the version number in ckan/init.py e.g. 1.1c -> 1.1
  4. Commit this change.
  5. Compile the docs:
    $ python setup.py build_sphinx
    
  6. Upload docs to knowledgeforge.
  7. Tag the repo with the version number (commits change). (add -f to the tag if you want to overwrite a previous tag with this release) e.g.
    $ hg tag ckan-1.1 -m 'Release 1.1'
    $ hg push
    
  8. Upload the release to PyPI (If you make a mistake, you can always go into PyPI, remove the release file and then reupload it.)
    python setup.py sdist upload
    
  9. Bring metastable branch in line with default:
    $ hg up -C metastable
    $ hg merge -r default
    $ nosetests ckan/tests
    $ hg ci -m '[merge] from release 1.1.'
    $ hg push
    
  10. Merge the release to the bitbucket i18n repo and recreate the pot:
    ???
    
  11. If there have been any unreleased changes to vdm, make sure you release that too.

ckanclient releases

  1. Increase version number in ckanclient/init.py
  2. Add a changelog for this new version in ckanclient/init.py
  3. Check-in the changes
  4. Tag the version:
     $ hg tag "ckanclient-v0.5"
    
  5. Create a PYPI config file (~/.pypirc) if necessary:
    [distutils]
    index-servers =
      pypi
    
    [pypi]
    #repository: http://www.python.org/pypi
    username: joebloggs
    password: mypassword
    
  6. Produce the distribution and upload to PYPI
    $ python setup.py sdist upload
    
  7. See the upload here: http://www.python.org/pypi/ckanclient
  8. Check that the setup.py for various branches of CKAN have the new version in their range (as appropriate).
  9. Check that the various pip-requirements.txt files also match the new version (as appropriate).

vdm releases

  1. Increase version number in vdm/init.py
  2. Add a changelog for this new version in vdm/CHANGELOG.txt
  3. Check-in the changes
  4. Tag the version:
     $ hg tag "vdm-0.8"
    
  5. Create a PYPI config file (~/.pypirc) if necessary:
    [distutils]
    index-servers =
      pypi
    
    [pypi]
    #repository: http://www.python.org/pypi
    username: joebloggs
    password: mypassword
    
  6. Produce the distribution and upload to PYPI
    $ python setup.py sdist upload
    
  7. See the upload here: http://www.python.org/pypi/vdm
  8. Check that the setup.py for various branches of CKAN have the new version in their range (as appropriate).
  9. Check that the various pip-requirements.txt files also match the new version (as appropriate).