Skip to content

BEP 2: Release Management

Mateusz Paprocki edited this page Mar 9, 2020 · 89 revisions
BEP 2 Issues and PRs management
Authors Damián Avila, Bryan Van de Ven
Status Retired
Discussion https://github.com/bokeh/bokeh/issues/1107

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.

Steps:

  1. Create a release candidate.

    Go to the script folder and run:

    ./deploy.sh x.x.x[dev/rc][number]

    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).

  2. 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 examples/plotting/file directory.

    You can also pass the browser option, for instance:--notebook-options="--browser=firefox".

    python interactive_tester.py -l plotting-file --notebook-options="--browser=firefox"

    Note: quitting the notebook session on windows will also quit the interactive_tester script. By default it will restart from the first example in the folder being tested. To continue from the point where you left use the --reuse-session argument.

    You should report any problem in the test_matrix spreadsheet which will be available for each release process.

  3. Documentation:

    You can easily build the site with make clean all and see it with make serve

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.

Steps:

  1. 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.rst with the new release file.

  2. Validate the CHANGELOG, checking BEP-1 compliance with:

    python scripts/issues.py -p <previous release tag> -c

  3. Go to the scripts folder and run (python 2 for now because a bug in issues.py):

    ./deploy.sh 0.12.15

  4. Announcement

    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!

Revisions

Date Change
2019-09-15 Retire BEP-2