Skip to content

Latest commit

 

History

History
145 lines (110 loc) · 3.58 KB

RELEASE.md

File metadata and controls

145 lines (110 loc) · 3.58 KB

Making a BeakerX release

This document guides a contributor through creating a release of BeakerX.

Install

Review README.md and make sure that all dependencies are installed.

Create the release

Update the version in beakerx/beakerx/_version.py and js/notebook/package.json and js/lab/package.json. Commit the change and push the git tag:

git commit -a -m 'version $version'
git push
git tag $version
git push origin $version

Make a source archive of the package:

git clean -xfd
cd beakerx
python setup.py sdist

Make a test installation with pip into a fresh environment, if it works then continue with:

pip install twine
twine upload dist/*
# get the sha256 hash for conda-forge install
shasum -a 256 dist/*.tar.gz

Publish on conda-forge

Update the feedstock repo:

git clone https://github.com/twosigma/beakerx-feedstock.git
cd beakerx-feedstock
git remote add upstream https://github.com/conda-forge/beakerx-feedstock.git
git fetch upstream
git reset --hard upstream/master
git push origin master --force
  • Update the version and sha256 variable values in recipe/meta.yaml. Return build number to 1.

Then test it locally:

# outside of beakerx conda environment
conda install conda-build
conda upgrade conda
conda upgrade conda-build
# inside of beakerx env and beakerx project root
conda build --python 3.5 PATH_TO_RECIPE
# conda-build will output something like `anaconda upload PATH_TO_beakerx-VERSION-py35HASH.tar.bz2`
conda install --use-local beakerx

Publish on npmjs

To update the embedded version of our widget library, and our Lab extension:

(cd js/notebook; npm publish)
(cd js/lab; npm publish)

Release to Docker Hub

docker build -t beakerx-base -f docker/base/Dockerfile .
docker build -t beakerx -f docker/Dockerfile .
docker run -p 8888:8888 beakerx

Test it, then (substituting the version):

docker tag beakerx beakerx/beakerx:$version
docker push beakerx/beakerx:$version

Do the same without a version to set the release to "latest":

docker tag beakerx beakerx/beakerx
docker push beakerx/beakerx

Write Release Notes

Open the release on github at https://github.com/twosigma/beakerx/releases/tag/$version

And write the release notes.

Update Jitpack

Go to https://jitpack.io/#twosigma/beakerx and click "Get it".

Update Binder Link

Wait for the conda packages to become available. Then update the version of the mybinder link in the README, and push to master. If the conda package isn't ready then mybinder will cache the old version forever.