jupyter-widgets / ipyleaflet

A Jupyter - Leaflet.js bridge
https://ipyleaflet.readthedocs.io
MIT License
1.47k stars 361 forks source link

update leaflet-splitmap to v1.0.3 #1135

Closed oxidase closed 10 months ago

oxidase commented 10 months ago

Fixes: #1066

https://github.com/jupyter-widgets/ipyleaflet/assets/4421046/54c6bf12-6dab-49af-a960-0c4118238979

@martinRenou fyi

martinRenou commented 10 months ago

Neat!! I guess the CI failure is very much unrelated. I'm surprised there is no change in the package-lock/yarn.lock (whichever lives on this repository)

oxidase commented 10 months ago

added yarn.lock changes

giswqs commented 10 months ago

Thank you for fixing this. Can't wait for the split-map to work again!

oxidase commented 10 months ago

@martinRenou 2 of 4 tasks fail. I have no spare time to check issues. anyways, macos issue is related to mamba setup and was able to reproduce locally as

[UI Tests/Visual Regression]   🚧  ::warning::    from mamba.mamba import main%0A  File "/root/miniconda3/lib/python3.11/site-packages/mamba/mamba.py", line 49, in <module>%0A    import libmambapy as api%0A  File "/root/miniconda3/lib/python3.11/site-packages/libmambapy/__init__.py", line 7, in <module>%0A    raise e%0A  File "/root/miniconda3/lib/python3.11/site-packages/libmambapy/__init__.py", line 4, in <module>%0A    from libmambapy.bindings import *  # noqa: F401,F403%0A    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^%0AImportError: libarchive.so.13: cannot open shared object file: No such file or directory%0A
|     from mamba.mamba import main
|   File "/root/miniconda3/lib/python3.11/site-packages/mamba/mamba.py", line 49, in <module>
|     import libmambapy as api
|   File "/root/miniconda3/lib/python3.11/site-packages/libmambapy/__init__.py", line 7, in <module>
|     raise e
|   File "/root/miniconda3/lib/python3.11/site-packages/libmambapy/__init__.py", line 4, in <module>
|     from libmambapy.bindings import *  # noqa: F401,F403
|     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ImportError: libarchive.so.13: cannot open shared object file: No such file or directory

ui-tests is something that I was not able to reproduce locally. It looks like yarn.lock is changed and ipyleaflet-ui-tests@workspace:. is missing 🤔

martinRenou commented 10 months ago

For the UI-tests, what you can do is try to revert @jupyterlab/builder dependency change and make sure to use JupyterLab 3 in the CI. The issue is that UI-tests (and other things) will need to be updated to work against JupyterLab 4 for the dev setup. Pinning JupyterLab 3 in the CI does not mean ipyleaflet will not work in JupyterLab 4 in userland, so we're good to pin it for now.

Concerning the libmamba thingy, I feel like we should use micromamba in the CI instead of conda/mamba using this action: https://github.com/mamba-org/setup-micromamba

oxidase commented 10 months ago

@martinRenou gotcha, I set requirements to jupyterlab~=3.0 everywhere.

But with v3.6.5 the docs build fails as

      ModuleNotFoundError: Module not found: Error: Can't resolve 'svg-url-loader' in '/home/docs/checkouts/readthedocs.org/user_builds/ipyleaflet/checkouts/1135/js'

and this does not happen for jupyterlab v4.0.5. Do you have any hints how to fix it?

Dependencies are

"@jupyterlab/builder@^4.0.0":
  version "4.0.5"
  resolved "https://registry.yarnpkg.com/@jupyterlab/builder/-/builder-4.0.5.tgz#5cd9e32b916cd7064108c65f5ec52d6f49a8a6b6"
  integrity sha512-rypdRtkDvoq1nt7WqbYwTBCCumFPceUxvUW9J9Xe3KaScnk/BoveV9D+oRSHNl8okDdJZLkgS99UT4mC0ysduw==
  dependencies:
    "@lumino/algorithm" "^2.0.1"
    "@lumino/application" "^2.2.1"
    "@lumino/commands" "^2.1.3"
    "@lumino/coreutils" "^2.1.2"
    "@lumino/disposable" "^2.1.2"
    "@lumino/domutils" "^2.0.1"
    "@lumino/dragdrop" "^2.1.3"
    "@lumino/messaging" "^2.0.1"
    "@lumino/properties" "^2.0.1"
    "@lumino/signaling" "^2.1.2"
    "@lumino/virtualdom" "^2.0.1"
    "@lumino/widgets" "^2.3.0"
    ajv "^8.12.0"
    commander "^9.4.1"
    css-loader "^6.7.1"
    duplicate-package-checker-webpack-plugin "^3.0.0"
    fs-extra "^10.1.0"
    glob "~7.1.6"
    license-webpack-plugin "^2.3.14"
    mini-css-extract-plugin "^2.7.0"
    mini-svg-data-uri "^1.4.4"
    path-browserify "^1.0.0"
    process "^0.11.10"
    source-map-loader "~1.0.2"
    style-loader "~3.3.1"
    supports-color "^7.2.0"
    terser-webpack-plugin "^5.3.7"
    webpack "^5.76.1"
    webpack-cli "^5.0.1"
    webpack-merge "^5.8.0"
    worker-loader "^3.0.2"

vs

"@jupyterlab/builder@^3.0.0":
  version "3.4.5"
  resolved "https://registry.yarnpkg.com/@jupyterlab/builder/-/builder-3.4.5.tgz#4324eb4152d3d815bdd96a3bd42661e799df1195"
  integrity sha512-VT84I7BB55P5CSDNAH+87iDRIOfU017J3L9779cnsHyJhx5RSroGTMgBnBv27vUMRVhz572ogzifki6CSs1Q6Q==
  dependencies:
    "@jupyterlab/buildutils" "^3.4.5"
    "@lumino/algorithm" "^1.9.0"
    "@lumino/application" "^1.27.0"
    "@lumino/commands" "^1.19.0"
    "@lumino/coreutils" "^1.11.0"
    "@lumino/disposable" "^1.10.0"
    "@lumino/domutils" "^1.8.0"
    "@lumino/dragdrop" "^1.13.0"
    "@lumino/messaging" "^1.10.0"
    "@lumino/properties" "^1.8.0"
    "@lumino/signaling" "^1.10.0"
    "@lumino/virtualdom" "^1.14.0"
    "@lumino/widgets" "^1.33.0"
    ajv "^6.12.3"
    commander "~6.0.0"
    css-loader "^5.0.1"
    duplicate-package-checker-webpack-plugin "^3.0.0"
    file-loader "~6.0.0"
    fs-extra "^9.0.1"
    glob "~7.1.6"
    license-webpack-plugin "^2.3.14"
    mini-css-extract-plugin "~1.3.2"
    path-browserify "^1.0.0"
    process "^0.11.10"
    raw-loader "~4.0.0"
    style-loader "~2.0.0"
    supports-color "^7.2.0"
    svg-url-loader "~6.0.0"
    terser-webpack-plugin "^4.1.0"
    to-string-loader "^1.1.6"
    url-loader "~4.1.0"
    webpack "^5.41.1"
    webpack-cli "^4.1.0"
    webpack-merge "^5.1.2"
    worker-loader "^3.0.2"
oxidase commented 10 months ago

@martinRenou 3 check out of 4 pass :tada:

Additionally I had to:

martinRenou commented 10 months ago

Great! Thanks! Would it help if I push a commit to try and fix the latest build?

oxidase commented 10 months ago

@martinRenou sure, that would be great!

I opened #1136 on top of this PR but don't hesitate to push into this PR to make CI green

martinRenou commented 10 months ago

Ok, let's merge this one as is, and see if your other PR gets everything green!

Thanks a lot for your work!