Skip to content

Latest commit

 

History

History
122 lines (82 loc) · 2.4 KB

RELEASE.md

File metadata and controls

122 lines (82 loc) · 2.4 KB

Releasing

Using Rever

Make sure your current environment has rever installed.

conda install rever -c conda-forge

Run checks before to make sure things are in order.

rever check

Delete the rever folder to start a clean release.

rm -rf rever/

Run rever with the type version (major|minor|patch) to update.

Major release

If the current version is 3.0.0.dev0, running:

rever major

Will produce version 4.0.0 and update the dev versions to 4.0.0.dev0

Minor release

If the current version is 3.0.0.dev0, running:

rever minor

Will produce version 3.1.0 and update the dev versions to 3.1.0.dev0

Patch release

If the current version is 3.0.0.dev0, running:

rever patch

Will produce version 3.0.1 and update the dev versions to 3.0.1.dev0

Important

  • In case some of the steps appear as completed, delete the rever folder.
rm -rf rever/
  • Some of the intermediate steps will ask for feedback, like checking the example notebooks.

Manual Process

First create a test environment:

conda env remove -n tmp-ibis-vega-transform --yes
conda env create -f binder/environment.yml --name tmp-ibis-vega-transform
conda install --name tmp-ibis-vega-transform black twine yarn wheel --channel conda-forge --yes --quiet

Then bump the Python version in setup.py and upload a test version:

rm -rf dist/
python setup.py sdist bdist_wheel
twine upload --repository-url https://test.pypi.org/legacy/ dist/*

Install the test version in your new environment:

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple ibis-vega-transform

Now bump the version for the Javascript package in package.json. The run a build, create a tarball, and install it as a JupyterLab extension:

yarn run build
yarn pack --filename out.tgz
jupyter labextension install out.tgz

Now open JupyterLab and run through all the notebooks in examples to make sure they still render correctly.

Now you can publish the Python package:

twine upload dist/*

And publish the node package:

npm publish out.tgz

And add a git tag for the release and push:

rm out.tgz
git add package.json setup.py
git commit -m 'Version <new version>'
git tag <new version>
git push
git push --tags