ipywidgets icon indicating copy to clipboard operation
ipywidgets copied to clipboard

Prepare for Jupyter Releaser

Open davidbrochart opened this issue 4 years ago • 13 comments
trafficstars

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 / tbump for bumping the Python packages? -> tbump can be used for each of the Python packages
  • [ ] Check how to handle ipywidgets depending on jupyterlab_widgets and widgetsnbextension: 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

davidbrochart avatar Oct 14 '21 15:10 davidbrochart

Binder :point_left: Launch a binder notebook on branch davidbrochart/ipywidgets/jupyter_releaser

github-actions[bot] avatar Oct 14 '21 15:10 github-actions[bot]

The bump-version.py script was copied over from Voilà, but I guess it has to be adapted to work here?

davidbrochart avatar Oct 14 '21 16:10 davidbrochart

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)?

davidbrochart avatar Oct 14 '21 16:10 davidbrochart

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.

jtpio avatar Oct 15 '21 07:10 jtpio

Actually I was missing some Jupyter Releaser hooks. But the problem is that the bump-version.py script needs lerna to be installed.

davidbrochart avatar Oct 15 '21 08:10 davidbrochart

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.

jtpio avatar Oct 15 '21 08:10 jtpio

@davidbrochart let's convert the PR to a draft while we iterate on it

jtpio avatar Oct 15 '21 12:10 jtpio

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

jtpio avatar Oct 15 '21 13:10 jtpio

Edit: moving the TODO to the top comment.

jtpio avatar Oct 18 '21 15:10 jtpio

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

image

jtpio avatar Oct 19 '21 15:10 jtpio

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.

jtpio avatar Oct 19 '21 15:10 jtpio

Isn't it because when link_check fails, it cancels check_release?

davidbrochart avatar Oct 19 '21 15:10 davidbrochart

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.

jtpio avatar Oct 19 '21 15:10 jtpio