-
Notifications
You must be signed in to change notification settings - Fork 512
How to make a Splash release
Adrián Chaves edited this page Jan 10, 2020
·
25 revisions
Note: these notes are for maintainers.
Check before release:
- changelog is up-to-date;
- Tests are passing on Travis;
- Splash build is successful on DockerHub;
- Splash-Jupyter build is successful on DockerHub.
- Run
python setup.py sdist
and check that all files are included; pay special attention to css/js/Lua files.
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.
After versions are updated, make a new PyPI release:
python setup.py sdist bdist_wheel
-
twine upload dist/splash-3.3.tar.gz
(find .tar.gz file created at step 1) -
twine upload dist/splash-3.3-py3-none-any.whl
(find a .whl file created at step 1)
Update the new version Splash Docker tag:
- Wait for the Splash build of the new version tag to finish.
- Run
docker run scrapinghub/splash:<new version tag> --version
locally and check that the output is the new version.
Update the latest
Splash Docker tag:
- 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) - In the Builds tab, select Trigger on the row with
latest
as Source tag. - Wait for that Splash build to finish.
- Run
docker rmi -f scrapinghub/splash
locally to remove the previouslatest
image from your system. - Run
docker run scrapinghub/splash:latest --version
locally and check that the output is the new version.
Then update Splash-Jupyter Docker builds. If you're doing a minor/major release (e.g. 3.3):
- Create a new git branch named A.B.x for the new release (e.g. 3.3.x).
- 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;
- Go to https://cloud.docker.com/u/scrapinghub/repository/docker/scrapinghub/splash-jupyter/hubbuilds ;
- Find a row with Docker Tag Name == 'latest'; change branch name to match latest version number (e.g. 3.3.x); click "Trigger Build".
- 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):
- Merge changes from master to A.B.x branch (e.g. to 2.1.x);
- Add a change like this to this branch - update FROM directive in dockerfiles/splash-jupyter/Dockerfile to use latest Splash release version.