The recommended way to make a release is to use jupyter_releaser
.
Below are the instructions to make releases manually. They are kept here as reference and might be removed at some point in the future.
Creating a new environment can help avoid pushing local changes and any extra tag.
mamba create -q -y -n jlab-js-logs-release -c conda-forge twine nodejs keyring pip jupyter-packaging jupyterlab=3.0
conda activate jlab-js-logs-release
Alternatively, the local repository can be cleaned with:
git clean -fdx
Make sure the dist/
folder is empty.
- If the JupyterLab extension has changed, make sure to bump the version number in
./package.json
- Update setup.py 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-js-logs
- let users install from source if they would like to
- 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 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-js-logs-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 setup.py 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