Creating a new environment can help avoid pushing local changes and any extra tag.
mamba create -q -y -n drawio-release -c conda-forge twine nodejs keyring pip matplotlib jupyter-packaging jupyterlab
conda activate drawio-release
Alternatively, the local repository can be cleaned with:
git clean -fdx
Make sure the dist/
folder is empty.
- Update package.json and binder/environment.yml with the new version number
python setup.py sdist bdist_wheel
- Double check the size of the bundles in the
dist/
folder - Run the tests
- Make sure the JupyterLab extension is correctly bundled in source distribution
export TWINE_USERNAME=mypypi_username
twine upload dist/*
The prebuilt extension is already packaged in the main Python package.
However we also publish it to npm
to:
- let other third-party extensions depend on
jupyterlab-drawio
- let users install from source if they would like to
- bundle the extension into the JupyterLab app
- The version number in package.json should have been updated during the release step of the Python package (see above)
npm login
npm publish
The next steps aren't valid for now. We don't have a recipe for jupyterlab-drawio yet.
The simplest is to wait for the bot to automatically open the PR.
Alternatively, to do the update manually:
- Open a new PR on https://github.com/conda-forge/jupyterlab-drawio-feedstock to update the
version
and thesha256
hash (see example) - Wait for the tests
- Merge the PR
The new version will be available on conda-forge
soon after.
Commit the changes, create a new release tag, and update the stable
branch (for Binder), where x.y.z
denotes the new version:
git checkout master
git add binder/environment.yml package.json
git commit -m "Release x.y.z"
git tag x.y.z
git checkout stable
git reset --hard master
git push origin master stable x.y.z