Preparing a Release

How to release a new version of RCS in N easy steps.

  1. Update the version in /setup.py and /docs/conf.py

  2. Update /docs/admin/deployment.rst to describe the upgrade process

  3. Build the docs:

    cd docs
    make clean
    make html
    
  4. Build RCS as described in Building RCS

  5. If possible have someone else test the newly packaged version, if that is not possible try create a new virtual environment locally and setting up the package in there, and barring either of those get your “works on my machine” excuses ready

  6. In particular watch for missing dependencies, or newly added packages and resources (update requirements.txt, or setup.py and MANIFEST.in respectively)

  7. Tag the release git tag vX.Y.Z

  8. Merge the release into master

  9. Copy the docs to rampdocs, there is an RCS folder copy the output from /docs/_build/html to a new directory in rampdocs which should be named to match the release version

  10. Update rampdocs /rcs/index-en.md to include a link to the new RCS docs

  11. Build rampdocs jekyll build

  12. Copy the generated output (/_site) to the github repo

  13. Push the RCS master branch to github

  14. Push the new tags to github

  15. In the github web admin UI go to releases (github should detect the new tag and prompt to you edit the release)

  16. Select the tag and add a description (cover which RAMP versions the RCS release is compatible with)

  17. Upload the dist files

  18. Hope that no one finds a bug 5 minutes after you post the release