BEP 2: Release Management
|BEP 2||Issues and PRs management|
|Authors||Damián Avila, Bryan Van de Ven|
The narrow technical information contained here is out of date and not consistent with how BEPs have evolved in practice: to be repositories of policies and statements about overall project governance, operation, and community interface.
By agreement of the Core Team, BEP-2 is RETIRED
The aim of this BEP is to make our release process better not only specifying all the steps included but also, and more importantly, discussing about all of them to minimize the bugs surface after each release point.
We have a two-stage release process, the first one is a full-testing check-list:
Pre-release testing check list
This is mainly a testing check-list where we test the generation, upload, download, installation and function of a dev build which would be essentially our base to generated the tagged release point.
We cannot add new enhancements after this dev build is uploaded but we can add documentation and tests, and obviously, we also have to fix the bugs raised in this testing period of time.
Create a release candidate.
Go to the script folder and run:
The process is completely automated on TravisCI, so after 25 min. you will see the packages on anaconda.org/bokeh, the rc docs and the CDN updated with the release candidate JS and CSS files (for instance: http://cdn.pydata.org/bokeh/dev/bokeh-0.13.0rc1.min.js).
Test examples on Chrome, Firefox, Safari and IE:
You can use the automated tester located in the bokeh/scripts folder as follows:
BOKEH_BROWSER=firefox python interactive_tester.py -l plotting-file
In this case we test, with firefox, the
You can also pass the browser option, for instance:
python interactive_tester.py -l plotting-file --notebook-options="--browser=firefox"
Note: quitting the notebook session on windows will also quit the
interactive_testerscript. By default it will restart from the first example in the folder being tested. To continue from the point where you left use the
You should report any problem in the test_matrix spreadsheet which will be available for each release process.
You can easily build the site with
make clean alland see it with
After the successful achievement of all these steps, you can follow with the second stage in this process, the Release itself.
Release check list
All the steps described in the check-list below are necessary to make a successful release.
Write the release highlights in
sphinx/source/docs/releases/<release tag>.rst(according the the format already shown in previous releases) and update
sphinx/source/index.rstwith the new release file.
Validate the CHANGELOG, checking BEP-1 compliance with:
python scripts/issues.py -p <previous release tag> -c
Go to the
scriptsfolder and run (python 2 for now because a bug in
- Message mailing lists:
- Post topic on Discourse Announcements category
- Update blog
- Tweet out link to blog
Here is a previous announcement email that can be used as a template if desired:
On behalf of the Bokeh team, I am pleased to announce the release of version 0.13.0 of Bokeh! For more information and details, please see the announcement post at: https://bokeh.github.io/blog/2018/6/13/release-0-13-0/ If you are using Anaconda/miniconda, you can install it with conda: conda install -c bokeh bokeh Alternatively, you can also install it with pip: pip install bokeh Full information including details about how to use and obtain BokehJS are at: https://bokeh.pydata.org/en/0.13.0/docs/installation.html Issues, enhancement requests, and pull requests can be made on the Bokeh Github page: https://github.com/bokeh/bokeh Documentation is available at: https://bokeh.pydata.org/en/0.13.0 There are over 301 total contributors to Bokeh and their time and effort help make Bokeh such an amazing project and community. Thank you again for your contributions. Finally, for questions or technical assistance we recommend starting with detailed posts on Stack Overflow. Or if you are interested in contributing, come by the Bokeh dev chat room: https://gitter.im/bokeh/bokeh-dev Thanks,
And you are done! The Release process is complete!