Skip to content

How to make a Splash release

Mikhail Korobov edited this page Feb 20, 2016 · 25 revisions

(these notes are for maintainers)

Check before release:

  1. changelog is up-to-date;
  2. Tests are passing on Travis;
  3. Splash build is successful on DockerHub;
  4. Splash-Jupyter build is successful on DockerHub.
  5. Run python setup.py sdist and check that all files are included; pay special attention to css/js/Lua files.

Update version numbers in:

  1. changelog;
  2. __init__.py;
  3. docs/conf.py.

TODO: automate it with bumpversion

Commit version number changes (e.g. 'bump version to 2.1').

Add git tag to the last commit; it should be exactly the same as new version number (e.g. 2.1).

After versions are updated, make a new PyPI release:

  1. python sdist upload
  2. python bdist_wheel upload

Then update automated Splash Docker builds:

  1. Go to https://hub.docker.com/r/scrapinghub/splash/~/settings/automated-builds/
  2. Find a row with Docker Tag Name == 'latest'; change tag name to latest version number (e.g. 2.1); click "Save Changes" and then "Trigger Build".
  3. Create a new automated build for the release: Docker tag should be equal to git tag (e.g. 2.1 and 2.1). (this should be handled by new DockerHub 'sourceref' feature')

Then update Splash-Jupyter Docker builds:

  1. Create a new git branch named A.B.x for the new release (e.g. 2.1.x).
  2. Add a change like this to this branch - update FROM directive in dockerfiles/splash-jupyter/Dockerfile to use latest Splash release version;
  3. Go to https://hub.docker.com/r/scrapinghub/splash-jupyter/~/settings/automated-builds/;
  4. Find a row with Docker Tag Name == 'latest'; change branch name to match latest version number (e.g. 2.1.x); click "Trigger Build".
  5. Create a new automated build for the release: git branch should be the release branch (e.g. 2.1.x), docker tag name should be version number (e.g. 2.1), Dockerfile location should be "/dockerfiles/splash-jupyter".

TODO: use new DockerHub sourceref feature

Clone this wiki locally