Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker: prevent manual pin of dependencies and improve build speed #95

Merged
merged 70 commits into from
Jan 27, 2022

Commits on Dec 17, 2021

  1. docker: try mamba

    tlvu committed Dec 17, 2021
    Configuration menu
    Copy the full SHA
    d21f8e2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e7a9640 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e1e9fba View commit details
    Browse the repository at this point in the history
  4. docker: remove 'jupyter lab build' step, probably not needed with jup…

    …yter lab v3 anymore, causing us build problems now
    tlvu committed Dec 17, 2021
    Configuration menu
    Copy the full SHA
    2ef396c View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2021

  1. Configuration menu
    Copy the full SHA
    f71e61e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a5472f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6f8f0ea View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    53e81d7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7bb511c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    335b4b2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f8df4cf View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    23b8912 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f992cef View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    965860b View commit details
    Browse the repository at this point in the history
  11. docker: use mamba to create conda env and perform 2-stage install to …

    …avoid too big dependency resolution
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    eafacd9 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0452d4c View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    26fa54f View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    ff696db View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    bf768d9 View commit details
    Browse the repository at this point in the history
  16. docker: add vtk-cdat channel for vtk-cdat, needed by vcs

    Encountered problems while solving:
      - package vcs-8.1-py_0 requires vtk-cdat >8.1, but none of the providers can be installed
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    498bc8c View commit details
    Browse the repository at this point in the history
  17. Revert "docker: add vtk-cdat channel for vtk-cdat, needed by vcs"

    This reverts commit 498bc8c.
    
    vtk-cdat was already part of cdat repo.
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    6d13a42 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    3e8cfc5 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    9860b0d View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    e0f5325 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    f105f91 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    36a4b0f View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    f5fa5d7 View commit details
    Browse the repository at this point in the history
  24. docker: try pin xclim and ravenpy immediately at the beginning to see…

    … if it prevent the downgrade
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    66953c0 View commit details
    Browse the repository at this point in the history
  25. docker: even with pin in initial install, still getting downgrade so …

    …try to pin in environment.yml as well
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    87350e8 View commit details
    Browse the repository at this point in the history
  26. docker: pin in environment.yml stopped the downgrading, remove duplic…

    …ate hardcode pin in Dockerfile
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    cc2d7ef View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    d3a06f5 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    a62f3c2 View commit details
    Browse the repository at this point in the history
  29. docker: conda config --set channel_priority strict not responsible fo…

    …r downgrade, restore it since it did help conda perf, restore hardcode pin in environment.yml to avoid downgrade
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    22c214a View commit details
    Browse the repository at this point in the history
  30. docker: no need to jupyter labextension install @jupyter-widgets/jupy…

    …terlab-manager with jupyterlab v3
    
    Build error:
    ```
    Node v15.14.0
    
    Yarn configuration loaded.
    > /opt/conda/envs/birdy/bin/npm pack @jupyter-widgets/jupyterlab-manager
    npm notice
    npm notice 📦  @jupyter-widgets/jupyterlab-manager@3.0.1
    npm notice === Tarball Contents ===
    npm notice 14.5kB LICENSE
    npm notice 2.8kB  README.md
    npm notice 277B   lib/index.d.ts
    npm notice 380B   lib/index.js
    npm notice 5.9kB  lib/manager.d.ts
    npm notice 15.3kB lib/manager.js
    npm notice 1.9kB  lib/output.d.ts
    npm notice 5.3kB  lib/output.js
    npm notice 828B   lib/plugin.d.ts
    npm notice 7.9kB  lib/plugin.js
    npm notice 960B   lib/renderer.d.ts
    npm notice 3.3kB  lib/renderer.js
    npm notice 216B   lib/semvercache.d.ts
    npm notice 862B   lib/semvercache.js
    npm notice 3.3kB  package.json
    npm notice 375B   schema/plugin.json
    npm notice === Tarball Details ===
    npm notice name:          @jupyter-widgets/jupyterlab-manager
    npm notice version:       3.0.1
    npm notice filename:      @jupyter-widgets/jupyterlab-manager-3.0.1.tgz
    npm notice package size:  15.6 kB
    npm notice unpacked size: 64.0 kB
    npm notice shasum:        ba70c14282fb8bd3c6560588f4c7b90b2b2b05fb
    npm notice integrity:     sha512-yhmakhiAFtKtZ[...]RptG4BvNdS+HA==
    npm notice total files:   16
    npm notice
    jupyter-widgets-jupyterlab-manager-3.0.1.tgz
    npm notice
    npm notice New major version of npm available! 7.7.6 -> 8.3.0
    npm notice Changelog: <https://github.com/npm/cli/releases/tag/v8.3.0>
    npm notice Run `npm install -g npm@8.3.0` to update!
    npm notice
    
    Node v15.14.0
    
    Yarn configuration loaded.
    Building jupyterlab assets (production, minimized)
    > node /opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/staging/yarn.js install --non-interactive
    yarn install v1.21.1
    [1/5] Validating package.json...
    [2/5] Resolving packages...
    [3/5] Fetching packages...
    warning @blueprintjs/core@3.52.0: Invalid bin entry for "upgrade-blueprint-2.0.0-rename" (in "@blueprintjs/core").
    warning @blueprintjs/core@3.52.0: Invalid bin entry for "upgrade-blueprint-3.0.0-rename" (in "@blueprintjs/core").
    error @npmcli/fs@1.1.0: The engine "node" is incompatible with this module. Expected version "^12.13.0 || ^14.15.0 || >=16". Got "15.14.0"
    error Found incompatible module.
    info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
    
    npm dependencies failed to install
    Traceback (most recent call last):
    
      File "/opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/debuglog.py", line 48, in debug_logging
        yield
    
      File "/opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/labextensions.py", line 140, in start
        build(clean_staging=self.should_clean,
    
      File "/opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/commands.py", line 482, in build
        return handler.build(name=name, version=version, static_url=static_url,
    
      File "/opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/commands.py", line 688, in build
        raise RuntimeError(msg)
    
    RuntimeError: npm dependencies failed to install
    
    Exiting application: lab
    ```
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    72dc0c9 View commit details
    Browse the repository at this point in the history
  31. docker: install ipyleaflet using conda for new jupyter lab v3

    Build error with the old way:
    
    ```
    Node v15.14.0
    
    Yarn configuration loaded.
    > /opt/conda/envs/birdy/bin/npm pack jupyter-leaflet
    npm notice
    npm notice 📦  jupyter-leaflet@0.15.0
    npm notice === Tarball Contents ===
    npm notice 356B    README.md
    npm notice 382B    .eslintrc.json
    npm notice 692B    dist/0b50583aa1b8ff230b57b92263e47a3e.png
    npm notice 165.5kB dist/0f2c10250081cf1bd9a4d2250b80dba6.png
    npm notice 1.3kB   dist/4f0283c6ce28e888000e978e537a6a56.png
    npm notice 3.6kB   dist/6a1e950d14904d4b6fb5c9bdc3dfad06.png
    npm notice 762B    dist/6e8e462555c4b10dbfbc206e8276e6e2.png
    npm notice 491B    dist/07f16cd155661436fe27959eab15c820.png
    npm notice 535B    dist/9e9c77db241e8a58da99bf28694c907d.png
    npm notice 462B    dist/35ae4b5f1bf198c6d955618b85710d05.png
    npm notice 618B    dist/44a526eed258222515aa21eaffd14a96.png
    npm notice 387B    dist/056dcd0b0dea7c78019243311551d64b.png
    npm notice 150B    dist/69fbc9c24b3665b801445c9bccc7017d.png
    npm notice 2.5kB   dist/401d815dc206b8dc1b17cd0e37695975.png
    npm notice 420B    dist/473ee081160a469c95199d70e78f55fa.png
    npm notice 3.8kB   dist/549b33bab7247b619c0292995f5a906b.png
    npm notice 277B    dist/592b7360116d244f9dd932b0c0041982.png
    npm notice 279B    dist/994ef255f2077b24b0d8975e90e37a33.png
    npm notice 1.5kB   dist/2273e3d8ad9264b7daa5bdbf8e6b47f8.png
    npm notice 192B    dist/7910c667cb5ddcdcb4ee3278627c85e1.png
    npm notice 57.0kB  dist/79148a43587cbe5c43d24fa894a78ba3.png
    npm notice 696B    dist/a6137456ed160d7606981aa57c559898.png
    npm notice 397B    dist/cfe6f6ffc5b2d6c482c36c68522f0282.png
    npm notice 1.5kB   dist/d3a5d64a8534322988a4bed1b7dbc8b0.png
    npm notice 299B    dist/ddb8362e333c8f3225da9d578d00c14c.png
    npm notice 1.9kB   dist/deac1d4aa2ccf7ed832e4db55bb64e63.png
    npm notice 1.0kB   dist/e81afdf0b23bc88ea3e6ef3fc2fb65d6.png
    npm notice 326B    dist/f4b0c949877c5f94158208551a57e29d.png
    npm notice 1.8kB   dist/f9b7a75b186911a1b04d08f8db305b7a.gif
    npm notice 460B    dist/fd48ced8485c638cadcea3eaab6d0937.png
    npm notice 5.6kB   dist/fd5728f2cf777b06b966d05c0c823dc9.svg
    npm notice 844.1kB dist/index.js
    npm notice 1.1kB   dist/index.js.LICENSE.txt
    npm notice 3.3MB   dist/index.js.map
    npm notice 2.0kB   package.json
    npm notice 706B    src/controls/AttributionControl.js
    npm notice 1.2kB   src/controls/Control.js
    npm notice 5.5kB   src/controls/DrawControl.js
    npm notice 701B    src/controls/FullScreenControl.js
    npm notice 1.9kB   src/controls/LayersControl.js
    npm notice 2.1kB   src/controls/LegendControl.js
    npm notice 1.9kB   src/controls/MeasureControl.js
    npm notice 677B    src/controls/ScaleControl.js
    npm notice 2.2kB   src/controls/SearchControl.js
    npm notice 1.7kB   src/controls/SplitMapControl.js
    npm notice 3.5kB   src/controls/WidgetControl.js
    npm notice 788B    src/controls/ZoomControl.js
    npm notice 144B    src/embed.js
    npm notice 398B    src/extension.js
    npm notice 565B    src/index.js
    npm notice 4.9kB   src/jupyter-leaflet.css
    npm notice 2.5kB   src/jupyter-leaflet.js
    npm notice 501B    src/jupyterlab-plugin.js
    npm notice 1.5kB   src/layers/AntPath.js
    npm notice 832B    src/layers/AwesomeIcon.js
    npm notice 872B    src/layers/Circle.js
    npm notice 862B    src/layers/CircleMarker.js
    npm notice 649B    src/layers/DivIcon.js
    npm notice 566B    src/layers/FeatureGroup.js
    npm notice 2.1kB   src/layers/GeoJSON.js
    npm notice 1.1kB   src/layers/Heatmap.js
    npm notice 688B    src/layers/Icon.js
    npm notice 1.2kB   src/layers/ImageOverlay.js
    npm notice 4.7kB   src/layers/Layer.js
    npm notice 1.4kB   src/layers/LayerGroup.js
    npm notice 621B    src/layers/LocalTileLayer.js
    npm notice 1.9kB   src/layers/MagnifyingGlass.js
    npm notice 3.8kB   src/layers/Marker.js
    npm notice 1.6kB   src/layers/MarkerCluster.js
    npm notice 1.0kB   src/layers/Path.js
    npm notice 572B    src/layers/Polygon.js
    npm notice 1.9kB   src/layers/Polyline.js
    npm notice 2.9kB   src/layers/Popup.js
    npm notice 1.1kB   src/layers/RasterLayer.js
    npm notice 595B    src/layers/Rectangle.js
    npm notice 1.9kB   src/layers/TileLayer.js
    npm notice 441B    src/layers/VectorLayer.js
    npm notice 1.1kB   src/layers/VectorTileLayer.js
    npm notice 1.7kB   src/layers/Velocity.js
    npm notice 2.4kB   src/layers/VideoOverlay.js
    npm notice 1.1kB   src/layers/WMSLayer.js
    npm notice 11.9kB  src/leaflet-heat.js
    npm notice 4.7kB   src/leaflet-magnifyingglass.js
    npm notice 1.9kB   src/leaflet.js
    npm notice 11.7kB  src/Map.js
    npm notice 294B    src/notebook.js
    npm notice 343B    src/projections.js
    npm notice 1.2kB   src/utils.js
    npm notice 1.8kB   webpack.config.js
    npm notice === Tarball Details ===
    npm notice name:          jupyter-leaflet
    npm notice version:       0.15.0
    npm notice filename:      jupyter-leaflet-0.15.0.tgz
    npm notice package size:  1.2 MB
    npm notice unpacked size: 4.5 MB
    npm notice shasum:        7c42d8dc1ee420baaabe51df94e146df0768a6a3
    npm notice integrity:     sha512-m5m3XVOY9tky/[...]CGZbwfT+//MlQ==
    npm notice total files:   89
    npm notice
    jupyter-leaflet-0.15.0.tgz
    npm notice
    npm notice New major version of npm available! 7.7.6 -> 8.3.0
    npm notice Changelog: <https://github.com/npm/cli/releases/tag/v8.3.0>
    npm notice Run `npm install -g npm@8.3.0` to update!
    npm notice
    
    Node v15.14.0
    
    Yarn configuration loaded.
    Building jupyterlab assets (production, minimized)
    > node /opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/staging/yarn.js install --non-interactive
    yarn install v1.21.1
    [1/5] Validating package.json...
    [2/5] Resolving packages...
    warning jupyter-leaflet > leaflet.vectorgrid > vector-tile@1.3.0: This module has moved: please install @mapbox/vector-tile instead
    warning jupyter-leaflet > leaflet.vectorgrid > vector-tile > point-geometry@0.0.0: This module has moved: please install @mapbox/point-geometry instead
    [3/5] Fetching packages...
    warning @blueprintjs/core@3.52.0: Invalid bin entry for "upgrade-blueprint-2.0.0-rename" (in "@blueprintjs/core").
    warning @blueprintjs/core@3.52.0: Invalid bin entry for "upgrade-blueprint-3.0.0-rename" (in "@blueprintjs/core").
    warning sha.js@2.4.11: Invalid bin entry for "sha.js" (in "sha.js").
    error @npmcli/fs@1.1.0: The engine "node" is incompatible with this module. Expected version "^12.13.0 || ^14.15.0 || >=16". Got "15.14.0"
    error Found incompatible module.
    info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
    
    npm dependencies failed to install
    Traceback (most recent call last):
    
      File "/opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/debuglog.py", line 48, in debug_logging
        yield
    
      File "/opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/labextensions.py", line 140, in start
        build(clean_staging=self.should_clean,
    
      File "/opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/commands.py", line 482, in build
        return handler.build(name=name, version=version, static_url=static_url,
    
      File "/opt/conda/envs/birdy/lib/python3.9/site-packages/jupyterlab/commands.py", line 688, in build
        raise RuntimeError(msg)
    
    RuntimeError: npm dependencies failed to install
    
    Exiting application: lab
    ```
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    b6eaa61 View commit details
    Browse the repository at this point in the history
  32. docker: drop jupyterlab-topbar-text and jupyterlab-theme-toggle since…

    … not useful and problem with jupyter labextension install command
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    1ca6f68 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    e4263a4 View commit details
    Browse the repository at this point in the history
  34. docker: pin python=3.7 for libgdal

    This explains why we were stuck on 3.7 before when still using conda
    instead of mamba.
    tlvu committed Dec 18, 2021
    Configuration menu
    Copy the full SHA
    e3b2c23 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2021

  1. docker: restore defaults channel that was remove to optimize conda pe…

    …rformance, we are using mamba now
    tlvu committed Dec 19, 2021
    Configuration menu
    Copy the full SHA
    30a1a00 View commit details
    Browse the repository at this point in the history
  2. docker: reduce number of layers during builds to hopefully increase a…

    … little the build speed
    tlvu committed Dec 19, 2021
    Configuration menu
    Copy the full SHA
    7ab6d90 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b13769a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    87fb219 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2021

  1. docker: update startup CMD, old one refuses to work

    Not able to use the wrapper script:
    ```
    $ /usr/local/bin/start-notebook.sh
    WARNING: Jupyter Notebook deprecation notice
    https://github.com/jupyter/docker-stacks#jupyter-notebook-deprecation-notice.
    Entered start.sh with args: jupyter notebook
    
    $ JUPYTER_ENABLE_LAB=yes /usr/local/bin/start-notebook.sh
    Entered start.sh with args: jupyter lab
    
    And then nothing happens.
    ```
    
    Not able to keep using `conda run -n birdy` either, not sure why, maybe
    because we switched to use mamba:
    
    ```
    $ conda run -n birdy /usr/local/bin/start-notebook.sh
    ERROR conda.cli.main_run:execute(33): Subprocess for 'conda run ['/usr/local/bin/start-notebook.sh']' command failed.  (See above for error)
    WARNING: Jupyter Notebook deprecation notice
    https://github.com/jupyter/docker-stacks#jupyter-notebook-deprecation-notice.
    Entered start.sh with args: jupyter notebook
    
    $ conda run -n birdy jupyter notebook
    
    And nothing happens
    ```
    tlvu committed Dec 20, 2021
    Configuration menu
    Copy the full SHA
    5d3c259 View commit details
    Browse the repository at this point in the history
  2. docker: remove NOTEBOOK_ARGS from CMD

    Tried to retain NOTEBOOK_ARGS from
    https://github.com/jupyter/docker-stacks/blob/ace92d3c5f3e619b4d9c33add1d745ba324ae72c/base-notebook/start-notebook.sh#L19
    but not working.
    
    Error:
    ```
    $ docker run --rm pavics/workflow-tests:211220-dev-commit-5d3c259
    [C 2021-12-20 20:32:05.491 ServerApp] No such file or directory: /${NOTEBOOK_ARGS}
    ```
    tlvu committed Dec 20, 2021
    Configuration menu
    Copy the full SHA
    50a85d1 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2021

  1. Configuration menu
    Copy the full SHA
    4343030 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ca17d14 View commit details
    Browse the repository at this point in the history
  3. docker: unable to pin nodejs >= 17.1.0, have to pin lower to >= 16.0

    Getting this error with >= 17.1.0:
    ```
    package nodejs-17.1.0-h8ca31f7_1 requires icu >=69.1,<70.0a0, but none of the providers can be installed
    ```
    
    The lower pin >= 16.0 result in some serious downgrade, but let's try it:
    ```
      Package                    Version  Build              Channel                    Size
    ──────────────────────────────────────────────────────────────────────────────────────────
      Upgrade:
    ──────────────────────────────────────────────────────────────────────────────────────────
    
      - libuv                     1.41.1  h7f98852_0         installed
      + libuv                     1.42.0  h7f98852_0         conda-forge/linux-64       1 MB
      - nodejs                   15.14.0  h92b4a50_0         installed
      + nodejs                   16.12.0  h92b4a50_0         conda-forge/linux-64      15 MB
    
      Downgrade:
    ──────────────────────────────────────────────────────────────────────────────────────────
    
      - configurable-http-proxy    4.5.0  node15_he6ea98c_1  installed
      + configurable-http-proxy    1.3.0  0                  conda-forge/linux-64     233 KB
      - jupyterhub                 2.0.0  hd8ed1ab_0         installed
      + jupyterhub                 1.3.0  py37h89c1867_0     conda-forge/linux-64       5 KB
      - jupyterhub-base            2.0.0  pyhd8ed1ab_0       installed
      + jupyterhub-base            1.3.0  py37h89c1867_0     conda-forge/linux-64       2 MB
    
      Summary:
    
      Upgrade: 2 packages
      Downgrade: 3 packages
    
      Total download: 18 MB
    ```
    tlvu committed Dec 21, 2021
    Configuration menu
    Copy the full SHA
    68af06d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3d2707a View commit details
    Browse the repository at this point in the history
  5. docker: rollback start script and restore previous startup CMD

    The reason why the old startup CMD was hanging was because the new script
    assumed user jovyan exists in the docker image.  The script was using
    "set -e" so any errors just make the script exit immediately.
    
    So we rollback before this commit jupyter/docker-stacks@c772e98.
    The commit was part of this PR jupyter/docker-stacks#1546.
    
    Error with the new script: it just stops there:
    ```
    (birdy) jenkins@e4c447185b3b:/$ /usr/local/bin/start-notebook.sh
    + set -e
    + [[ -n '' ]]
    + wrapper=
    + [[ '' == \y\e\s ]]
    + [[ -n '' ]]
    + echo 'WARNING: Jupyter Notebook deprecation notice https://github.com/jupyter/docker-stacks#jupyter-notebook-deprecation-notice.'
    WARNING: Jupyter Notebook deprecation notice https://github.com/jupyter/docker-stacks#jupyter-notebook-deprecation-notice.
    + exec /usr/local/bin/start.sh jupyter notebook
    + set -e
    + _log 'Entered start.sh with args:' jupyter notebook
    + [[ Entered start.sh with args: jupyter notebook == \E\R\R\O\R\:* ]]
    + [[ Entered start.sh with args: jupyter notebook == \W\A\R\N\I\N\G\:* ]]
    + [[ '' == '' ]]
    + echo 'Entered start.sh with args:' jupyter notebook
    Entered start.sh with args: jupyter notebook
    + '[' 2 -eq 0 ']'
    + cmd=("$@")
    + run-hooks /usr/local/bin/start-notebook.d
    + [[ ! -d /usr/local/bin/start-notebook.d ]]
    + return
    ++ id -u
    + '[' 1000 == 0 ']'
    + [[ '' == \1 ]]
    + [[ '' == \y\e\s ]]
    ++ id -u jovyan
    + JOVYAN_UID=
    ```
    tlvu committed Dec 21, 2021
    Configuration menu
    Copy the full SHA
    eac4141 View commit details
    Browse the repository at this point in the history
  6. docker: document performance problem with one single 'conda env creat…

    …e -f /environment.yml'
    tlvu committed Dec 21, 2021
    Configuration menu
    Copy the full SHA
    c6fd0f4 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    890c228 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    62bc689 View commit details
    Browse the repository at this point in the history
  9. docker: clean up comment from previous pin

    Feedback from @Zeitsperre
    tlvu committed Dec 21, 2021
    Configuration menu
    Copy the full SHA
    eaa2b01 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2022

  1. Dockerfile.testing: pin shapely for notebook failure, bokeh for perfo…

    …rmance regression
    
    ```
      Updating specs:
    
       - shapely[version='<=1.7.1']
       - bokeh[version='<=2.3.3']
       - ca-certificates
       - certifi
       - openssl
    
      Package             Version  Build            Channel                    Size
    ─────────────────────────────────────────────────────────────────────────────────
      Change:
    ─────────────────────────────────────────────────────────────────────────────────
    
      - cartopy            0.20.1  py37h9a08e6e_5   installed
      + cartopy            0.20.1  py37h259df35_1   conda-forge/linux-64       2 MB
      - fiona              1.8.20  py37h2cf5250_4   installed
      + fiona              1.8.20  py37hb7e2723_2   conda-forge/linux-64       1 MB
      - geotiff             1.7.0  h90a4e78_5       installed
      + geotiff             1.7.0  hcfb7246_3       conda-forge/linux-64     298 KB
      - librttopo           1.1.0  h30b5eef_8       installed
      + librttopo           1.1.0  h1185371_6       conda-forge/linux-64     235 KB
      - libspatialite       5.0.1  hf3ee066_12      installed
      + libspatialite       5.0.1  h8796b1e_9       conda-forge/linux-64       4 MB
      - pyproj              3.2.1  py37hb589d83_5   installed
      + pyproj              3.2.1  py37hd495510_2   conda-forge/linux-64     499 KB
      - rasterio           1.2.10  py37h4e26c36_3   installed
      + rasterio           1.2.10  py37hffcf04f_0   conda-forge/linux-64       8 MB
    
      Downgrade:
    ─────────────────────────────────────────────────────────────────────────────────
    
      - bokeh               2.4.2  py37h89c1867_0   installed
      + bokeh               2.3.3  py37h89c1867_0   conda-forge/linux-64       8 MB
      - cfitsio             4.0.0  h9a35b8e_0       installed
      + cfitsio             3.470  hb418390_7       conda-forge/linux-64       1 MB
      - gdal                3.4.0  py37hd5a0ba4_11  installed
      + gdal                3.3.3  py37h7b489ff_0   conda-forge/linux-64       2 MB
      - geos               3.10.1  h9c3ff4c_1       installed
      + geos                3.9.1  h9c3ff4c_2       conda-forge/linux-64       1 MB
      - geoviews            1.9.2  pyhd8ed1ab_0     installed
      + geoviews            1.9.1  pyhd8ed1ab_1     conda-forge/noarch         6 KB
      - geoviews-core       1.9.2  pyha770c72_0     installed
      + geoviews-core       1.9.1  pyha770c72_1     conda-forge/noarch       404 KB
      - imagecodecs    2021.11.20  py37h4167934_1   installed
      + imagecodecs     2021.8.26  py37hfe5a812_1   conda-forge/linux-64       7 MB
      - jupyter_bokeh       3.0.4  pyhd8ed1ab_0     installed
      + jupyter_bokeh       3.0.2  pyhd8ed1ab_0     conda-forge/noarch         1 MB
      - libgdal             3.4.0  h4471fe2_11      installed
      + libgdal             3.3.3  h356f897_0       conda-forge/linux-64      13 MB
      - panel              0.12.6  pyhd8ed1ab_0     installed
      + panel              0.12.1  pyhd8ed1ab_0     conda-forge/noarch        10 MB
      - poppler           21.11.0  ha39eefc_0       installed
      + poppler           21.09.0  ha39eefc_3       conda-forge/linux-64      17 MB
      - proj                8.2.0  h277dcde_0       installed
      + proj                8.1.1  h277dcde_2       conda-forge/linux-64       3 MB
      - pygeos             0.12.0  py37h9b0f7a3_0   installed
      + pygeos             0.10.2  py37h48c49eb_0   conda-forge/linux-64     410 KB
      - shapely             1.8.0  py37h9b0f7a3_4   installed
      + shapely             1.7.1  py37h48c49eb_5   conda-forge/linux-64     442 KB
      - tiledb              2.5.3  h2038895_0       installed
      + tiledb              2.3.4  he87e0bf_0       conda-forge/linux-64       4 MB
    ```
    tlvu committed Jan 11, 2022
    Configuration menu
    Copy the full SHA
    d67a2d2 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2022

  1. Configuration menu
    Copy the full SHA
    035560e View commit details
    Browse the repository at this point in the history
  2. docker: create the conda env as the regular user to ensure no permiss…

    …ion problems
    
    Mamba create temp file at root:
    ```
        Traceback (most recent call last):
          File "/opt/conda/lib/python3.9/site-packages/conda/exceptions.py", line 1080, in __call__
            return func(*args, **kwargs)
          File "/opt/conda/lib/python3.9/site-packages/conda_env/cli/main.py", line 80, in do_call
            exit_code = getattr(module, func_name)(args, parser)
          File "/opt/conda/lib/python3.9/site-packages/conda_env/cli/main_update.py", line 123, in execute
            result[installer_type] = installer.install(prefix, specs, args, env)
          File "/opt/conda/lib/python3.9/site-packages/conda_env/installers/pip.py", line 70, in install
            return _pip_install_via_requirements(*args, **kwargs)
          File "/opt/conda/lib/python3.9/site-packages/conda_env/installers/pip.py", line 44, in _pip_install_via_requirements
            requirements = Utf8NamedTemporaryFile(mode='w',
          File "/opt/conda/lib/python3.9/site-packages/conda/auxlib/compat.py", line 88, in Utf8NamedTemporaryFile
            return NamedTemporaryFile(
          File "/opt/conda/lib/python3.9/tempfile.py", line 541, in NamedTemporaryFile
            (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags, output_type)
          File "/opt/conda/lib/python3.9/tempfile.py", line 251, in _mkstemp_inner
            fd = _os.open(file, flags, 0o600)
        PermissionError: [Errno 13] Permission denied: '/condaenv.ym733vc0.requirements.txt'
    
    `$ /opt/conda/bin/mamba update --name birdy --file /environment.yml`
    ```
    tlvu committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    ced6249 View commit details
    Browse the repository at this point in the history
  3. docker: attempt to fix mamba creates temp file at root where user jen…

    …kins do not have write perm
    
    ```
        Traceback (most recent call last):
          File "/opt/conda/lib/python3.9/site-packages/conda/exceptions.py", line 1080, in __call__
            return func(*args, **kwargs)
          File "/opt/conda/lib/python3.9/site-packages/conda_env/cli/main.py", line 80, in do_call
            exit_code = getattr(module, func_name)(args, parser)
          File "/opt/conda/lib/python3.9/site-packages/conda_env/cli/main_update.py", line 123, in execute
            result[installer_type] = installer.install(prefix, specs, args, env)
          File "/opt/conda/lib/python3.9/site-packages/conda_env/installers/pip.py", line 70, in install
            return _pip_install_via_requirements(*args, **kwargs)
          File "/opt/conda/lib/python3.9/site-packages/conda_env/installers/pip.py", line 44, in _pip_install_via_requirements
            requirements = Utf8NamedTemporaryFile(mode='w',
          File "/opt/conda/lib/python3.9/site-packages/conda/auxlib/compat.py", line 88, in Utf8NamedTemporaryFile
            return NamedTemporaryFile(
          File "/opt/conda/lib/python3.9/tempfile.py", line 541, in NamedTemporaryFile
            (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags, output_type)
          File "/opt/conda/lib/python3.9/tempfile.py", line 251, in _mkstemp_inner
            fd = _os.open(file, flags, 0o600)
        PermissionError: [Errno 13] Permission denied: '/condaenv.ym733vc0.requirements.txt'
    
    `$ /opt/conda/bin/mamba update --name birdy --file /environment.yml`
    ```
    tlvu committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    6d31473 View commit details
    Browse the repository at this point in the history
  4. docker: 'python -m ipykernel install' requires root

    ```
    Step 10/17 : RUN python -m ipykernel install --name birdy
     ---> Running in e4cec66d6932
    [Errno 13] Permission denied: '/usr/local/share/jupyter'
    The command '/bin/sh -c python -m ipykernel install --name birdy' returned a non-zero code: 1
    ```
    tlvu committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    faa0341 View commit details
    Browse the repository at this point in the history
  5. docker: prevent serious downgrade of openssl during second install ph…

    …ase by mamba
    
    Did not work, got this error:
    
    ```
    Encountered problems while solving:
      - package jupyterhub-base-1.3.0-py39h06a4308_1 requires pycurl, but none of the providers can be installed
    ```
    tlvu committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    b714564 View commit details
    Browse the repository at this point in the history
  6. docker: revert change to build as regular user since it downgrades op…

    …enssl significantly
    
    ```
    -  # - openssl 3.0.0 h7f98852_2 installed
    -  # + openssl 1.1.1l h7f98852_0 conda-forge/linux-64 2 MB
    ```
    tlvu committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    8aba3a5 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2022

  1. Configuration menu
    Copy the full SHA
    c9d2ef6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    107c402 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8bd0094 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2022

  1. Configuration menu
    Copy the full SHA
    c90413c View commit details
    Browse the repository at this point in the history
  2. docker: prevent accidental cartopy downgrade from mamba

    Not sure why cartopy-0.14.3 is selected!  Previous build selected
    cartopy-0.20.1 and geos-3.9.1 was found!
    
    ```
    Encountered problems while solving:
      - nothing provides geos 3.5.* needed by cartopy-0.14.3-np110py27_4
    ```
    tlvu committed Jan 17, 2022
    Configuration menu
    Copy the full SHA
    9370388 View commit details
    Browse the repository at this point in the history
  3. docker: pin python=3.9

    tlvu committed Jan 17, 2022
    Configuration menu
    Copy the full SHA
    58cd714 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d58f090 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2022

  1. conftest: avoid failing on holoviews display json code change

    Sample error:
    
    ```
      _______ pavics-sdi-master/docs/source/notebooks/forecasts.ipynb::Cell 2 ________
      Notebook cell execution failed
      Cell 2: Cell outputs differ
    
      Input:
      import hvplot.xarray
      mtl = ds.sel(lon=45.5, lat=360 - 73.5, method="nearest")
      mtl.pr.hvplot(x="time", width=300) + mtl.tas.hvplot(x="time", width=300)
    
      Traceback:
       mismatch 'application/vnd.holoviews_load.v0+json'
    
       assert reference_output == test_output failed:
    
        '\n(function(...\n}(window));' == '\n(function(...\n}(window));'
        Skipping 1273 identical leading characters in diff, use -v to show
          , now());
        +     root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;
    
              function on_load() {
                root._bokeh_is_loading--;
                if (root._bokeh_is_loading === 0) {
                  console.debug("Bokeh: all BokehJS libraries/stylesheets loaded");
                  run_callbacks()
                }
              }
    
      ( ... )
    ```
    tlvu committed Jan 18, 2022
    Configuration menu
    Copy the full SHA
    b4acbdc View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2022

  1. docker: pin python=3.8 for xESMF

    tlvu committed Jan 21, 2022
    Configuration menu
    Copy the full SHA
    007ae84 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    34d38cc View commit details
    Browse the repository at this point in the history