Skip to content
Maik Hoepfel edited this page Nov 6, 2013 · 18 revisions

This page is a guide to releasing new versions of Oscar. It's documented as there are quite a few things to do.

These are the steps involved.

Pre-release

Translation strings

  • Pull updates from Transifex with:

      tx pull -a
    
  • Update .po files for all locales with:

      make messages
    
  • Merge in any i18n pull requests

  • Update compiled message files and commit:

      make compiledmessages
    

CSS

Build the CSS files from LESS using:

make css

We don't store the CSS files in git to avoid duplication problems. The Less files are the definitive source.

Docs

Check all settings are documented. Grab all used ones using:

ack -hor "OSCAR_\w+" oscar/ | sort | uniq

Contributors

Update list of Oscar contributors.

Things to check

Before pushing to PyPI:

  • Make sure the tests pass (obviously)

  • Ensure that any new migrations are correctly numbered (ie there are no apps with two migrations using the same number). You can view the migrations committed since a tag using:

      git log --name-status 0.3.. | grep migration 
    
  • Update the CHANGELOG with details of the new release, including any relevant upgrading notes

Release

Push to PyPI:

./setup.py sdist upload

Post-release

  • Tweet about it via @django_oscar

  • Email mailing list with link to release notes

  • Update readthedocs to use the new version as the latest (only relevant for major version bumps)

  • Update Google Drive stats

  • Update oscarcommerce.com

  • Clean up remote branches that are no longer needed. Delete with:

      git push origin :branch-to-delete
    

Have a banana!

Clone this wiki locally