NOTE: remove everything from examples/data
prior to building
-
Ensure git repository is clear of unmerged/untracked files.
-
Ensure all tests pass.
-
Update meta.yaml and examples/environment.yml with best current recommended dependencies (often these float during development, but need to be pinned for releases).
-
Update version number in
conda.recipe/meta.yaml
,datashader/__init__.py
, andsetup.py
. Commit. -
Tag commit and push to github
git tag -a x.x.x -m 'Version x.x.x'
git push origin master --tags
- Build conda packages
The exact procedure is platform/setup specific, so I'll define a few variables here, to fill in with your specifics:
# Location of your conda install. For me it's `~/anaconda/`
CONDA_DIR=~/anaconda/
# Platform code. For me it's `osx-64`
PLATFORM=osx-64
# Version number of datashader being released (e.g. 0.2.0)
VERSION=0.2.0
This assumes conda
, conda-build
, and anaconda-client
are installed (if
not, install conda
, then use conda
to install the others). From inside the
toplevel directory:
conda config --append channels ioam
conda build conda.recipe/ --python 2.7
conda build conda.recipe/ --python 3.5
conda build conda.recipe/ --python 3.6
Next, cd
into the folder where the builds end up.
cd $CONDA_DIR/conda-bld/$PLATFORM
Use conda convert
to convert over the missing platforms (skipping the one for
the platform you're currently on):
conda convert --platform osx-64 datashader-$VERSION*.tar.bz2 -o ../
conda convert --platform linux-64 datashader-$VERSION*.tar.bz2 -o ../
conda convert --platform win-64 datashader-$VERSION*.tar.bz2 -o ../
Use anaconda upload
to upload the build to the bokeh
channel. This requires
you to be setup on anaconda.org
, and have the proper credentials to push to
the bokeh channel.
anaconda login
anaconda upload $CONDA_DIR/conda-bld/*/datashader-$VERSION*.tar.bz2 -u bokeh
If you are uploading a dev release, then add the dev
label.
anaconda upload $CONDA_DIR/conda-bld/*/datashader-$VERSION*.tar.bz2 -u bokeh -l dev
- Write the release notes:
- Run
git log
to get a listing of all the changes - Remove any covered in the previous release
- Summarize the rest to focus on user-visible changes and major new features
- Paste the notes into github, under n
releases
, thenTags
, thenEdit release notes
.