For Biryani maintainer only

How to release a new version of Biryani

  1. Extract strings to translate from source code:

    ./setup.py extract_messages
    
  2. Update catalog (aka .po files) from biryani/i18n/biryani.pot``:

    ./setup.py update_catalog
    
  3. Ensure that Project-Id-Version in biryani/i18n/biryani.pot and .po files are correct.

  4. Send source file and translations to Transifex:

    tx push -s
    
  5. Add missing translations using Transifex.

  6. Get Transifex translations:

    tx pull
    
  7. Compile catalog:

    ./setup.py compile_catalog
    
  8. Execute doctests and check that the build succeeded without error nor warning:

    ./setup.py build_sphinx -b doctest
    
  9. Build the HTML documentation and check that the build succeeded without error nor warning:

    ./setup.py build_sphinx -b html
    
  10. Launch the documentation coverage tests:

    ./setup.py build_sphinx -b coverage
    

    Then check that docs/build/coverage/python.txt doesn’t list non documented functions.

  11. Update changelog.rst using git log.

  12. Edit setup.py to change version number (ie remove “dev” suffix):

    version = 'NEW_RELEASE_NUMBER',
    
  13. Also check that everything is OK: classifiers, keywords, requirements.

  14. Edit docs/source/conf.py to change version number in two lines:

    # The short X.Y version.
    version = 'NEW_MINOR_NUMBER'
    # The full version, including alpha/beta/rc tags.
    release = 'NEW_RELEASE_NUMBER'
    
  15. Re-build the HTML documentation and check that the build succeeded without error nor warning:

    ./setup.py build_sphinx -b html
    
  16. Commit changes and push.

  17. Tag the new release and upload it to git server:

    git tag NEW_RELEASE_NUMBER
    git push origin NEW_RELEASE_NUMBER
    
  18. Build and upload the package to Pypi:

    ./setup.py upload_sphinx
    ./setup.py sdist bdist_wheel upload -r pypi
    
  19. Announce the new release.

  20. Edit setup.py to change version number (ie increase patch number and add “dev” suffix):

    version = 'NEW_FUTURE_RELEASE_NUMBERdev',
    
  21. Edit docs/source/conf.py to change version number in two lines:

    # The short X.Y version.
    version = 'NEW_FUTURE_MINOR_NUMBER'
    # The full version, including alpha/beta/rc tags.
    release = 'NEW_FUTURE_RELEASE_NUMBERdev'
    
  22. Commit changes and push.

Table Of Contents

Previous topic

Biryani Changelog

This Page