jupyter-widgets / ipywidgets

Interactive Widgets for the Jupyter Notebook
https://ipywidgets.readthedocs.io
BSD 3-Clause "New" or "Revised" License
3.1k stars 946 forks source link

Cannot make a release, release instructions do not work #3884

Closed maartenbreddels closed 4 months ago

maartenbreddels commented 4 months ago

Running yarn install, I get:

➤ YN0000: ┌ Resolution step
➤ YN0060: │ @jupyter-widgets/base-manager@workspace:packages/base-manager provides webpack (p4adfb) with version 5.82.1, which doesn't satisfy what istanbul-instrumenter-loader requests
➤ YN0060: │ @jupyter-widgets/base@workspace:packages/base provides webpack (pdd4b0) with version 5.82.1, which doesn't satisfy what istanbul-instrumenter-loader requests
➤ YN0060: │ @jupyter-widgets/controls@workspace:packages/controls provides webpack (p47993) with version 5.82.1, which doesn't satisfy what istanbul-instrumenter-loader requests
➤ YN0002: │ @jupyter-widgets/jupyterlab-manager@workspace:python/jupyterlab_widgets doesn't provide react (p0e3ec), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/services@npm:7.0.0 doesn't provide react (p7bfc4), requested by @jupyterlab/settingregistry
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed
➤ YN0000: ┌ Link step
➤ YN0000: └ Completed in 0s 533ms
➤ YN0000: Done with warnings in 1s 17ms

This leaves the following directory nearly empty:

$ ls python/jupyterlab_widgets/node_modules
glob   rimraf

Running the suggested command:

yarn explain peer-requirements p4adfb                                                                                                                              
➤ YN0000: @jupyter-widgets/base-manager@workspace:packages/base-manager provides webpack@npm:5.82.1 [e9e97] with version 5.82.1, which doesn't satisfy the following requirements:

➤ YN0000: istanbul-instrumenter-loader@npm:3.0.1 [e9e97] → ^2.0.0 || ^3.0.0 || ^4.0.0 ✘

But that doesn't help me.

However, on CI, we don't really do this step, we run jlpm, but that locally gives me the same.

I think we should do the same steps in CI as for the instructions, so we never end up in this state. Maybe someone can help me debug this, so we can improve the instructions and possibly make this more foolproof (did I just call myself a fool? 😄 )

@martinRenou you did the last release, did the instructions work out of the box for you?

maartenbreddels commented 4 months ago

This leaves the following directory nearly empty:

Note that I think this is a problem, because running yarn build (which gets called if you run yarn bump errors with:

$ yarn run bump                                                                                                                                              
...
@jupyter-widgets/html-manager: > @jupyter-widgets/html-manager@1.0.9 build:src
@jupyter-widgets/html-manager: > tsc --build
@jupyter-widgets/jupyterlab-manager: command not found: tsc
lerna ERR! yarn run build exited 127 in '@jupyter-widgets/jupyterlab-manager'
lerna WARN complete Waiting for 1 child process to exit. CTRL-C to exit immediately.
maartenbreddels commented 4 months ago

Update: I may have fixed it with

conda create -c conda-forge --override-channels -y -n releasewidgets notebook nodejs "yarn=3.*" twine jupyterlab=4 jupyter-packaging python-build jq "python==3.9.*"

Instead of

conda create -c conda-forge --override-channels -y -n releasewidgets notebook nodejs yarn=3 twine jupyterlab=4 jupyter-packaging python-build jq "python==3.9.*"

Which takes a more modern yarn

martinRenou commented 4 months ago

@martinRenou you did the last release, did the instructions work out of the box for you?

Yes it did work out of the box

maartenbreddels commented 4 months ago

The diff above seems to fix it, I'll push the changes to the instructions

maartenbreddels commented 4 months ago

Thanks, release is done: "Release: ipywidgets 8.1.2, widgetsnbextension 4.0.10, jupyterlab_widgets 3.0.10"

maartenbreddels commented 4 months ago

Instructions are fixed: https://github.com/jupyter-widgets/ipywidgets/commit/b78de43e12ff26e4aa16e6e4c6844a7c82a8ee1c