Skip to content

How to make a Splash release

Adrián Chaves edited this page Jan 10, 2020 · 25 revisions

Note: these notes are for maintainers.

Prepare

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.

GitHub

Use bumpversion to create a commit that upgrades the version number as needed in the code, and tags that commit with the version number.

Push changes to GitHub. Make sure you push the tag as well.

PyPI

After versions are updated, make a new PyPI release:

  1. python setup.py sdist bdist_wheel
  2. twine upload dist/splash-3.3.tar.gz (find .tar.gz file created at step 1)
  3. twine upload dist/splash-3.3-py3-none-any.whl (find a .whl file created at step 1)

Splash @ Docker Hub

Then update automated Splash Docker builds:

  1. Wait for the corresponding Docker Hub Splash build to finish.
  2. In the automated build configuration page update the latest Docker tag to point to new source tag (add a new entry, delete the old one and select Save)
  3. In the Builds tab, select Trigger on the row with latest as Source tag.

Splash-Jupyter @ Docker Hub

Then update Splash-Jupyter Docker builds. If you're doing a minor/major release (e.g. 3.3):

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

If you're doing a point release (e.g. 2.1.1):

  1. Merge changes from master to A.B.x branch (e.g. to 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.
Clone this wiki locally