ipywidgets
ipywidgets copied to clipboard
Prepare for Jupyter Releaser
Closes #3285
TODO
- [x] Format changelog so it's compatible with the releaser
- [ ] Check whether we can keep the current changelog for
8.0 - [ ] Do we want to version and release packages separately -> for now we'll version and commit separately (like for lumino)
- [ ]
bumpversion/tbumpfor bumping the Python packages? ->tbumpcan be used for each of the Python packages - [ ] Check how to handle
ipywidgetsdepending onjupyterlab_widgetsandwidgetsnbextension: https://github.com/jupyter-widgets/ipywidgets/blob/441135a3c24df7ccbee8216a627bb3eb75b9ee23/setup.cfg#L42-L43 -> check how the releaser handles this - [ ] Check if the releaser can skip packages already published
The bump-version.py script was copied over from Voilà, but I guess it has to be adapted to work here?
I ran "Draft Changelog" on my branch. From the logs, it looks like we would need to install JupyterLab in the draft-changelog action (because bump-version.py needs jlpm)?
Thanks @davidbrochart for starting this!
it looks like we would need to install JupyterLab in the draft-changelog action (because bump-version.py needs jlpm)
Or we use yarn instead of jlpm? Since ./dev-install.sh also uses it to setup the development environment.
Actually I was missing some Jupyter Releaser hooks. But the problem is that the bump-version.py script needs lerna to be installed.
Normally lerna should be installed when running yarn at the top level of the repo. So maybe we can keep that hook and run yarn instead of jlpm.
@davidbrochart let's convert the PR to a draft while we iterate on it
For reference the current release instructions are in https://github.com/jupyter-widgets/ipywidgets/blob/master/docs/source/dev_release.md. And it looks like the versioning is done manually by running the yarn run version command which calls lerna version:
https://github.com/jupyter-widgets/ipywidgets/blob/441135a3c24df7ccbee8216a627bb3eb75b9ee23/package.json#L26
Edit: moving the TODO to the top comment.
OK this is kind of weird. The check seems to be canceled sometimes after 1 minute, sometimes after 5. This one for instance: https://github.com/jupyter-widgets/ipywidgets/pull/3298/checks?check_run_id=3940082517

sometimes after 1 minute, sometimes after 5
1 minute is probably because of https://github.com/jupyter-widgets/ipywidgets/pull/3298/commits/ef786ca4a00d90e4da97c5b51b42f83eec57d7ed which removed the explicit install step. But it's strange that it is canceled instead of exiting on error.
Isn't it because when link_check fails, it cancels check_release?
Ah right, we are not using fail-fast: false for now: https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#jobsjob_idstrategyfail-fast
We can set it for now so it's easier to debug.