-
Notifications
You must be signed in to change notification settings - Fork 516
How to make a Splash release
Mikhail Korobov edited this page Feb 5, 2019
·
25 revisions
(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.
Update version numbers in:
TODO: automate it with bumpversion
Commit version number changes (e.g. 'bump version to 3.3').
Add git tag to the last commit; it should be exactly the same as new version number (e.g. 3.3).
Push changes to github.
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)
Then update automated Splash Docker builds:
- Go to https://cloud.docker.com/u/scrapinghub/repository/docker/scrapinghub/splash/hubbuilds
- Find a row with Docker Tag Name == 'latest'; change tag name to latest version number (e.g. 3.3); click "Save Changes" and then "Trigger Build".
-
Create a new automated build for the release: Docker tag should be equal to git tag (e.g. 3.3 and 3.3).(this should be handled by new DockerHub 'sourceref' feature')
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.