Creating a new environment can help avoid pushing local changes and any extra tag.
conda create -n voila-release -c conda-forge twine nodejs keyring
conda activate voila-release
Alternatively, the local repository can be cleaned with:
git clean -fdx
Make sure the dist/
folder is empty.
- Update voila/_version.py and environment.yml with the new version number (see and example diff)
python setup.py sdist bdist_wheel
- Double check the size of the bundles in the
dist/
folder - Run the tests
- (pip install "dist/voila-X.Y.Z-py3-none-any.whl[test]" && cd tests/test_template && pip install . && cd .. && py.test)
export TWINE_USERNAME=mypypi_username
twine upload dist/*
- Open a new PR on https://github.com/conda-forge/voila-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 voila/_version.py environment.yml
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
- Update packages/jupyterlab-voila/package.json with the new version number
cd ./packages/jupyterlab-voila
npm login
npm publish
Commit and push the changes, where x.y.z
denotes the new version:
git add ./packages/jupyterlab-voila/package.json
git commit -m "Release @jupyter-voila/jupyterlab-preview x.y.z"
git push origin master