Skip to content

Conversation

@mishaschwartz
Copy link
Collaborator

Overview

Previously the jupyterhub configuration was defined in components/jupyterhub/jupyterhub_config.py.template except for the custom authenticator which was included in the pavics/jupyterhub docker image. This was fine, except that the configuration was split across two projects and as the configuration got more complex, maintaining these was getting more difficult.

This moves all configuration code including the authenticator to a python package named jupyterhub_custom located at components/jupyterhub/jupyterhub_custom/. It moves all configurations for the authenticator to the magpie_authenticator.py file and all the configurations for the spawner to the custom_spawner.py file. All variables that are settable by environment variables are moved to the constants.py file. This makes it much easier to see which variables are configurable using environment variables all in one place.

This change introduces unit tests and style policies (enforced by ruff and pre-commit) for this package to encourage better code practices.

This change should be fully backwards compatible with the exception of the change to how settings for deprecated-components/catalog is handled (see below). However, it does deprecate some environment variables in favour of better configuration solutions:

  • using the JUPYTERHUB_ENABLE_MULTI_NOTEBOOKS variable to set the DockerSpawner.allowed_images variable is deprecated.
    • why?: this variable could be used to insert any python code into the middle of the jupyterhub_config.py.template file. This makes it too easy to accidentally insert code that breaks the configuration settings later on. We should avoid code insertion like this whenever possible.
    • new method: by default DockerSpawner.allowed_images will be set based on the values of JUPYTERHUB_IMAGE_SELECTION_NAMES and JUPYTERHUB_DOCKER_NOTEBOOK_IMAGES. If more than one image is specified by those variables then the user will be able to select which one they want. If you want to specify images other than those in the default those can be set using the JUPYTERHUB_ALLOWED_IMAGES which is a yaml or JSON mapping of image names to jupyterlab docker image tags.
  • using the JUPYTERHUB_ADMIN_USERS variable to set the DockerSpawner.admin_users variable is deprecated.
    • why?: this also executes arbitrary code (like above). Also, jupyterhub encourages assigning admin permissions
      based on roles, not by assigning them to the admin_users attribute. This makes it possible to easily revoke admin permissions as well and does not require us to restart Jupyterhub to do so.
    • new method: a new Magpie group is created. Its name is determined by the JUPYTERHUB_ADMIN_GROUP_NAME variable (default is "jupyterhub-admin"). Add users to this group in Magpie in order to give them admin permissions on Jupyterhub.
  • using lowercase constants in JUPYTERHUB_CONFIG_OVERRIDE is deprecated.
    • why?: PEP8 recommends constants be written with capitals with underscores separating them.
    • new method: all the constants that were previously named with lowercase have an uppercase equivalent in constants.py. For example: notebook_dir == constants.NOTEBOOK_DIR. The uppercase version is preferred.

Note: if your deployment is still using the deprecated-components/catalog component. You may want to manually set the following in JUPYTERHUB_CONFIG_OVERRIDE since the automatic addition of the the CATALOG_USERNAME to the blocked_users set is no longer part of the default settings (since the deprecated-components/catalog component has been deprecated for a long time):

c.MagpieAuthenticator.blocked_users.add("${CATALOG_USERNAME}")

Changes

Non-breaking changes

  • refactoring

Breaking changes

  • if deprecated-components/catalog is still used, then it needs to be manually configured (see above)

Related Issue / Discussion

Additional Information

CI Operations

birdhouse_daccs_configs_branch: master
birdhouse_skip_ci: false

@github-actions github-actions bot added documentation Improvements or additions to documentation ci/operations Continuous Integration components component/magpie Related to https://github.com/Ouranosinc/Magpie component/jupyterhub Related to JupyterHub as development frontend with notebooks ci/tests Issues or changes related to tests scripts labels Dec 22, 2025
@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3913/
ResultFAILURE

BIRDHOUSE_DEPLOY_BRANCH : refactor-jupyterhub-customization
DACCS_IAC_BRANCH : master
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-216.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/586/

NOTEBOOK TEST RESULTS
    
[2025-12-22T20:40:35.436Z] ============================= test session starts ==============================
[2025-12-22T20:40:35.436Z] platform linux -- Python 3.11.12, pytest-8.3.5, pluggy-1.5.0
[2025-12-22T20:40:35.436Z] rootdir: /home/jenkins/agent/workspace/PAVICS-e2e-workflow-tests_master
[2025-12-22T20:40:35.436Z] plugins: anyio-4.9.0, dash-3.0.3, nbval-0.11.0, tornasync-0.6.0.post2, xdist-3.6.1
[2025-12-22T20:40:35.436Z] collected 537 items
[2025-12-22T20:40:35.436Z] 
[2025-12-22T20:40:43.759Z] notebooks-auth/geoserver.ipynb ..................                        [  3%]
[2025-12-22T20:40:54.534Z] notebooks-auth/test_cowbird_jupyter.ipynb ......FFF.                     [  5%]
[2025-12-22T20:41:00.264Z] notebooks-auth/test_thredds.ipynb ...........                            [  7%]
[2025-12-22T20:43:07.825Z] pavics-sdi-master/docs/source/notebooks/CaSR_basic.ipynb ......          [  8%]
[2025-12-22T20:58:22.677Z] pavics-sdi-master/docs/source/notebooks/FAQ_dask_parallel.ipynb ..s..... [  9%]
[2025-12-22T20:59:59.125Z] .                                                                        [ 10%]
[2025-12-22T21:00:01.032Z] pavics-sdi-master/docs/source/notebooks/WCS_example.ipynb ......         [ 11%]
[2025-12-22T21:00:09.701Z] pavics-sdi-master/docs/source/notebooks/WFS_example.ipynb .....          [ 12%]
[2025-12-22T21:16:26.783Z] pavics-sdi-master/docs/source/notebooks/climex.ipynb ...........         [ 14%]
[2025-12-22T21:16:26.783Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-climate-stations.ipynb . [ 14%]
[2025-12-22T21:16:36.227Z] ...............                                                          [ 17%]
[2025-12-22T21:16:48.191Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-xclim.ipynb .....    [ 18%]
[2025-12-22T21:17:03.428Z] pavics-sdi-master/docs/source/notebooks/esgf-dap.ipynb ....              [ 18%]
[2025-12-22T21:17:19.718Z] pavics-sdi-master/docs/source/notebooks/forecasts.ipynb ......           [ 19%]
[2025-12-22T21:22:28.153Z] pavics-sdi-master/docs/source/notebooks/opendap.ipynb .FFFFFF            [ 21%]
[2025-12-22T21:22:28.153Z] pavics-sdi-master/docs/source/notebooks/pavics_thredds.ipynb .....       [ 22%]
[2025-12-22T21:25:07.064Z] pavics-sdi-master/docs/source/notebooks/regridding.ipynb ............... [ 24%]
[2025-12-22T21:26:12.191Z] .............                                                            [ 27%]
[2025-12-22T21:26:15.294Z] pavics-sdi-master/docs/source/notebooks/rendering.ipynb ....             [ 28%]
[2025-12-22T21:26:18.696Z] pavics-sdi-master/docs/source/notebooks/subset-user-input.ipynb ........ [ 29%]
[2025-12-22T21:26:42.085Z] .................                                                        [ 32%]
[2025-12-22T21:26:51.073Z] pavics-sdi-master/docs/source/notebooks/subsetting.ipynb .....           [ 33%]
[2025-12-22T21:26:52.452Z] pavics-sdi-master/docs/source/notebook-components/weaver_example.ipynb . [ 33%]
[2025-12-22T21:27:03.786Z] .........                                                                [ 35%]
[2025-12-22T21:27:15.475Z] finch-main/docs/source/notebooks/dap_subset.ipynb ...........            [ 37%]
[2025-12-22T21:27:25.595Z] finch-main/docs/source/notebooks/finch-usage.ipynb ......                [ 38%]
[2025-12-22T21:27:26.973Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-1DataAccess.ipynb . [ 38%]
[2025-12-22T21:27:31.633Z] .....                                                                    [ 39%]
[2025-12-22T21:28:18.336Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-2Subsetting.ipynb . [ 40%]
[2025-12-22T21:28:46.316Z] ............                                                             [ 42%]
[2025-12-22T21:29:12.872Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-3Climate-Indicators.ipynb . [ 42%]
[2025-12-22T21:29:49.734Z] .....s.                                                                  [ 43%]
[2025-12-22T21:29:56.303Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-4Ensembles.ipynb . [ 43%]
[2025-12-22T21:30:03.046Z] ..                                                                       [ 44%]
[2025-12-22T21:30:13.040Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb . [ 44%]
[2025-12-22T21:31:19.184Z] .........                                                                [ 46%]
[2025-12-22T21:31:27.314Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-6Regridding_Conversion.ipynb . [ 46%]
[2025-12-22T21:33:17.227Z] ....                                                                     [ 47%]
[2025-12-22T21:33:17.227Z] PAVICS-landing-master/content/notebooks/hydrology/PAVICStutorial_Hydrology-01_Intro.ipynb . [ 47%]
[2025-12-22T21:33:22.843Z] ....                                                                     [ 48%]
[2025-12-22T21:33:27.048Z] PAVICS-landing-master/content/notebooks/hydrology/PAVICStutorial_Hydrology-02_Calibration.ipynb . [ 48%]
[2025-12-22T21:33:38.451Z] .....                                                                    [ 49%]
[2025-12-22T21:33:42.712Z] PAVICS-landing-master/content/notebooks/hydrology/PAVICStutorial_Hydrology-03_Watershed_properties.ipynb . [ 49%]
[2025-12-22T21:33:47.787Z] .............                                                            [ 51%]
[2025-12-22T21:33:53.062Z] PAVICS-landing-master/content/notebooks/hydrology/PAVICStutorial_Hydrology-04_Time_series_analysis.ipynb . [ 51%]
[2025-12-22T21:33:54.169Z] ......                                                                   [ 53%]
[2025-12-22T21:34:04.898Z] raven-main/docs/source/notebooks/Region_selection.ipynb .........        [ 54%]
[2025-12-22T21:34:06.806Z] raven-main/docs/source/notebooks/Subset_climate_data_over_watershed.ipynb . [ 54%]
[2025-12-22T21:34:29.339Z] ......                                                                   [ 56%]
[2025-12-22T21:34:30.979Z] RavenPy-main/docs/notebooks/00_Introduction_to_JupyterLab.ipynb ......   [ 57%]
[2025-12-22T21:34:42.384Z] RavenPy-main/docs/notebooks/01_Getting_watershed_boundaries.ipynb ...... [ 58%]
[2025-12-22T21:34:42.385Z] ..                                                                       [ 58%]
[2025-12-22T21:34:48.957Z] RavenPy-main/docs/notebooks/02_Extract_geographical_watershed_properties.ipynb . [ 58%]
[2025-12-22T21:34:54.055Z] .............                                                            [ 61%]
[2025-12-22T21:36:34.258Z] RavenPy-main/docs/notebooks/03_Extracting_forcing_data.ipynb ........... [ 63%]
[2025-12-22T21:36:34.258Z]                                                                          [ 63%]
[2025-12-22T21:36:36.742Z] RavenPy-main/docs/notebooks/04_Emulating_hydrological_models.ipynb ..... [ 64%]
[2025-12-22T21:36:43.317Z] ...............                                                          [ 67%]
[2025-12-22T21:36:49.886Z] RavenPy-main/docs/notebooks/05_Advanced_RavenPy_configuration.ipynb .... [ 67%]
[2025-12-22T21:36:57.661Z] .........                                                                [ 69%]
[2025-12-22T21:37:11.397Z] RavenPy-main/docs/notebooks/06_Raven_calibration.ipynb ......            [ 70%]
[2025-12-22T21:37:18.558Z] RavenPy-main/docs/notebooks/07_Making_and_using_hotstart_files.ipynb ... [ 71%]
[2025-12-22T21:37:21.143Z] ...                                                                      [ 71%]
[2025-12-22T21:37:27.742Z] RavenPy-main/docs/notebooks/08_Getting_and_bias_correcting_CMIP6_data.ipynb . [ 71%]
[2025-12-22T21:45:02.903Z] ...............                                                          [ 74%]
[2025-12-22T21:45:09.541Z] RavenPy-main/docs/notebooks/09_Hydrological_impacts_of_climate_change.ipynb . [ 74%]
[2025-12-22T21:45:16.285Z] ....                                                                     [ 75%]
[2025-12-22T21:45:55.987Z] RavenPy-main/docs/notebooks/10_Data_assimilation.ipynb ........          [ 77%]
[2025-12-22T21:46:06.095Z] RavenPy-main/docs/notebooks/11_Climatological_ESP_forecasting.ipynb .... [ 77%]
[2025-12-22T21:46:32.620Z] ....                                                                     [ 78%]
[2025-12-22T21:46:40.752Z] RavenPy-main/docs/notebooks/12_Performing_hindcasting_experiments.ipynb . [ 78%]
[2025-12-22T21:46:51.029Z] .......                                                                  [ 80%]
[2025-12-22T21:47:18.339Z] RavenPy-main/docs/notebooks/Assess_probabilistic_flood_risk.ipynb ...... [ 81%]
[2025-12-22T21:47:18.339Z] .                                                                        [ 81%]
[2025-12-22T21:47:26.468Z] RavenPy-main/docs/notebooks/Comparing_hindcasts_and_ESP_forecasts.ipynb . [ 81%]
[2025-12-22T21:47:47.065Z] .......                                                                  [ 82%]
[2025-12-22T21:47:53.699Z] RavenPy-main/docs/notebooks/Distributed_hydrological_modelling.ipynb ... [ 83%]
[2025-12-22T21:48:13.705Z] ....                                                                     [ 84%]
[2025-12-22T21:48:27.700Z] RavenPy-main/docs/notebooks/Hydrological_realtime_forecasting.ipynb .... [ 84%]
[2025-12-22T21:48:33.913Z] ..                                                                       [ 85%]
[2025-12-22T21:49:13.847Z] RavenPy-main/docs/notebooks/Managing_Jupyter_Environments.ipynb ...      [ 85%]
[2025-12-22T21:49:42.638Z] RavenPy-main/docs/notebooks/Perform_Regionalization.ipynb .......        [ 87%]
[2025-12-22T21:49:50.771Z] RavenPy-main/docs/notebooks/Running_HMETS_with_CANOPEX_dataset.ipynb ... [ 87%]
[2025-12-22T21:50:05.839Z] ..........                                                               [ 89%]
[2025-12-22T21:50:30.574Z] RavenPy-main/docs/notebooks/Sensitivity_analysis.ipynb ......            [ 90%]
[2025-12-22T21:50:35.760Z] RavenPy-main/docs/notebooks/time_series_analysis.ipynb ...........       [ 92%]
[2025-12-22T21:50:43.912Z] RavenPy-main/docs/notebooks/paper/Perform_a_climate_change_impact_study_on_a_watershed.ipynb . [ 92%]
[2025-12-22T21:56:21.089Z] .............Fxxxxxx                                                     [ 96%]
[2025-12-22T21:56:21.089Z] notebooks/hummingbird.ipynb ............                                 [ 98%]
[2025-12-22T21:59:00.699Z] notebooks/stress-tests.ipynb ......                                      [100%]
[2025-12-22T21:59:00.699Z] 
[2025-12-22T21:59:00.699Z] =================================== FAILURES ===================================
    
  

@crim-jenkins-bot
Copy link
Collaborator

E2E Test Results

DACCS-iac Pipeline Results

Build URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/3914/
ResultFAILURE

BIRDHOUSE_DEPLOY_BRANCH : refactor-jupyterhub-customization
DACCS_IAC_BRANCH : master
DACCS_CONFIGS_BRANCH : master
PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master
PAVICS_SDI_BRANCH : master

DESTROY_INFRA_ON_EXIT : true
PAVICS_HOST : https://host-140-91.rdext.crim.ca

PAVICS-e2e-workflow-tests Pipeline Results

Tests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/587/

NOTEBOOK TEST RESULTS
    
[2025-12-22T20:51:20.998Z] ============================= test session starts ==============================
[2025-12-22T20:51:20.998Z] platform linux -- Python 3.11.12, pytest-8.3.5, pluggy-1.5.0
[2025-12-22T20:51:20.998Z] rootdir: /home/jenkins/agent/workspace/PAVICS-e2e-workflow-tests_master@2
[2025-12-22T20:51:20.998Z] plugins: anyio-4.9.0, dash-3.0.3, nbval-0.11.0, tornasync-0.6.0.post2, xdist-3.6.1
[2025-12-22T20:51:20.998Z] collected 537 items
[2025-12-22T20:51:20.998Z] 
[2025-12-22T20:51:30.633Z] notebooks-auth/geoserver.ipynb ..................                        [  3%]
[2025-12-22T20:51:41.807Z] notebooks-auth/test_cowbird_jupyter.ipynb ......FFF.                     [  5%]
[2025-12-22T20:51:48.351Z] notebooks-auth/test_thredds.ipynb ...........                            [  7%]
[2025-12-22T20:54:05.856Z] pavics-sdi-master/docs/source/notebooks/CaSR_basic.ipynb ......          [  8%]
[2025-12-22T21:14:01.618Z] pavics-sdi-master/docs/source/notebooks/FAQ_dask_parallel.ipynb ..s..... [  9%]
[2025-12-22T21:15:09.337Z] .                                                                        [ 10%]
[2025-12-22T21:15:14.441Z] pavics-sdi-master/docs/source/notebooks/WCS_example.ipynb ......         [ 11%]
[2025-12-22T21:15:21.193Z] pavics-sdi-master/docs/source/notebooks/WFS_example.ipynb .....          [ 12%]
[2025-12-22T21:25:02.664Z] pavics-sdi-master/docs/source/notebooks/climex.ipynb ...........         [ 14%]
[2025-12-22T21:25:02.664Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-climate-stations.ipynb . [ 14%]
[2025-12-22T21:25:02.664Z] ...............                                                          [ 17%]
[2025-12-22T21:25:11.650Z] pavics-sdi-master/docs/source/notebooks/eccc-geoapi-xclim.ipynb .....    [ 18%]
[2025-12-22T21:25:22.322Z] pavics-sdi-master/docs/source/notebooks/esgf-dap.ipynb ....              [ 18%]
[2025-12-22T21:25:36.287Z] pavics-sdi-master/docs/source/notebooks/forecasts.ipynb ......           [ 19%]
[2025-12-22T21:30:44.774Z] pavics-sdi-master/docs/source/notebooks/opendap.ipynb .FFFFFF            [ 21%]
[2025-12-22T21:30:44.774Z] pavics-sdi-master/docs/source/notebooks/pavics_thredds.ipynb .....       [ 22%]
[2025-12-22T21:33:09.592Z] pavics-sdi-master/docs/source/notebooks/regridding.ipynb ............... [ 24%]
[2025-12-22T21:34:14.251Z] .............                                                            [ 27%]
[2025-12-22T21:34:18.169Z] pavics-sdi-master/docs/source/notebooks/rendering.ipynb ....             [ 28%]
[2025-12-22T21:34:19.945Z] pavics-sdi-master/docs/source/notebooks/subset-user-input.ipynb ........ [ 29%]
[2025-12-22T21:34:46.680Z] .................                                                        [ 32%]
[2025-12-22T21:34:54.424Z] pavics-sdi-master/docs/source/notebooks/subsetting.ipynb .....           [ 33%]
[2025-12-22T21:34:55.800Z] pavics-sdi-master/docs/source/notebook-components/weaver_example.ipynb . [ 33%]
[2025-12-22T21:35:12.522Z] .........                                                                [ 35%]
[2025-12-22T21:35:22.525Z] finch-main/docs/source/notebooks/dap_subset.ipynb ...........            [ 37%]
[2025-12-22T21:35:32.349Z] finch-main/docs/source/notebooks/finch-usage.ipynb ......                [ 38%]
[2025-12-22T21:35:33.733Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-1DataAccess.ipynb . [ 38%]
[2025-12-22T21:35:39.144Z] .....                                                                    [ 39%]
[2025-12-22T21:36:25.903Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-2Subsetting.ipynb . [ 40%]
[2025-12-22T21:36:56.034Z] ............                                                             [ 42%]
[2025-12-22T21:37:22.576Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-3Climate-Indicators.ipynb . [ 42%]
[2025-12-22T21:38:01.346Z] .....s.                                                                  [ 43%]
[2025-12-22T21:38:07.929Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-4Ensembles.ipynb . [ 43%]
[2025-12-22T21:38:14.089Z] ..                                                                       [ 44%]
[2025-12-22T21:38:22.215Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb . [ 44%]
[2025-12-22T21:39:37.795Z] .........                                                                [ 46%]
[2025-12-22T21:39:47.779Z] PAVICS-landing-master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-6Regridding_Conversion.ipynb . [ 46%]
[2025-12-22T21:42:03.026Z] ....                                                                     [ 47%]
[2025-12-22T21:42:03.026Z] PAVICS-landing-master/content/notebooks/hydrology/PAVICStutorial_Hydrology-01_Intro.ipynb . [ 47%]
[2025-12-22T21:42:03.026Z] ....                                                                     [ 48%]
[2025-12-22T21:42:04.932Z] PAVICS-landing-master/content/notebooks/hydrology/PAVICStutorial_Hydrology-02_Calibration.ipynb . [ 48%]
[2025-12-22T21:42:17.147Z] .....                                                                    [ 49%]
[2025-12-22T21:42:21.336Z] PAVICS-landing-master/content/notebooks/hydrology/PAVICStutorial_Hydrology-03_Watershed_properties.ipynb . [ 49%]
[2025-12-22T21:42:28.125Z] .............                                                            [ 51%]
[2025-12-22T21:42:34.721Z] PAVICS-landing-master/content/notebooks/hydrology/PAVICStutorial_Hydrology-04_Time_series_analysis.ipynb . [ 51%]
[2025-12-22T21:42:35.253Z] ......                                                                   [ 53%]
[2025-12-22T21:42:49.882Z] raven-main/docs/source/notebooks/Region_selection.ipynb .........        [ 54%]
[2025-12-22T21:42:51.835Z] raven-main/docs/source/notebooks/Subset_climate_data_over_watershed.ipynb . [ 54%]
[2025-12-22T21:43:18.288Z] ......                                                                   [ 56%]
[2025-12-22T21:43:20.195Z] RavenPy-main/docs/notebooks/00_Introduction_to_JupyterLab.ipynb ......   [ 57%]
[2025-12-22T21:43:30.484Z] RavenPy-main/docs/notebooks/01_Getting_watershed_boundaries.ipynb ...... [ 58%]
[2025-12-22T21:43:30.484Z] ..                                                                       [ 58%]
[2025-12-22T21:43:37.052Z] RavenPy-main/docs/notebooks/02_Extract_geographical_watershed_properties.ipynb . [ 58%]
[2025-12-22T21:43:42.733Z] .............                                                            [ 61%]
[2025-12-22T21:45:22.594Z] RavenPy-main/docs/notebooks/03_Extracting_forcing_data.ipynb ........... [ 63%]
[2025-12-22T21:45:22.594Z]                                                                          [ 63%]
[2025-12-22T21:45:27.027Z] RavenPy-main/docs/notebooks/04_Emulating_hydrological_models.ipynb ..... [ 64%]
[2025-12-22T21:45:34.076Z] ...............                                                          [ 67%]
[2025-12-22T21:45:40.636Z] RavenPy-main/docs/notebooks/05_Advanced_RavenPy_configuration.ipynb .... [ 67%]
[2025-12-22T21:45:48.269Z] .........                                                                [ 69%]
[2025-12-22T21:46:00.264Z] RavenPy-main/docs/notebooks/06_Raven_calibration.ipynb ......            [ 70%]
[2025-12-22T21:46:07.055Z] RavenPy-main/docs/notebooks/07_Making_and_using_hotstart_files.ipynb ... [ 71%]
[2025-12-22T21:46:09.903Z] ...                                                                      [ 71%]
[2025-12-22T21:46:16.467Z] RavenPy-main/docs/notebooks/08_Getting_and_bias_correcting_CMIP6_data.ipynb . [ 71%]
[2025-12-22T21:54:50.051Z] ...............                                                          [ 74%]
[2025-12-22T21:54:51.430Z] RavenPy-main/docs/notebooks/09_Hydrological_impacts_of_climate_change.ipynb . [ 74%]
[2025-12-22T21:54:58.936Z] ....                                                                     [ 75%]
[2025-12-22T21:55:42.017Z] RavenPy-main/docs/notebooks/10_Data_assimilation.ipynb ........          [ 77%]
[2025-12-22T21:55:51.800Z] RavenPy-main/docs/notebooks/11_Climatological_ESP_forecasting.ipynb .... [ 77%]
[2025-12-22T21:56:20.155Z] ....                                                                     [ 78%]
[2025-12-22T21:56:28.284Z] RavenPy-main/docs/notebooks/12_Performing_hindcasting_experiments.ipynb . [ 78%]
[2025-12-22T21:56:39.727Z] .......                                                                  [ 80%]
[2025-12-22T21:57:07.695Z] RavenPy-main/docs/notebooks/Assess_probabilistic_flood_risk.ipynb ...... [ 81%]
[2025-12-22T21:57:07.696Z] .                                                                        [ 81%]
[2025-12-22T21:57:14.277Z] RavenPy-main/docs/notebooks/Comparing_hindcasts_and_ESP_forecasts.ipynb . [ 81%]
[2025-12-22T21:57:35.668Z] .......                                                                  [ 82%]
[2025-12-22T21:57:43.797Z] RavenPy-main/docs/notebooks/Distributed_hydrological_modelling.ipynb ... [ 83%]
[2025-12-22T21:58:03.282Z] ....                                                                     [ 84%]
[2025-12-22T21:58:14.294Z] RavenPy-main/docs/notebooks/Hydrological_realtime_forecasting.ipynb .... [ 84%]
[2025-12-22T21:58:21.432Z] ..                                                                       [ 85%]
[2025-12-22T21:58:44.922Z] RavenPy-main/docs/notebooks/Managing_Jupyter_Environments.ipynb ...      [ 85%]
[2025-12-22T21:59:18.322Z] RavenPy-main/docs/notebooks/Perform_Regionalization.ipynb .......        [ 87%]
[2025-12-22T21:59:22.195Z] RavenPy-main/docs/notebooks/Running_HMETS_with_CANOPEX_dataset.ipynb ... [ 87%]
[2025-12-22T21:59:35.815Z] ..........                                                               [ 89%]
[2025-12-22T21:59:57.270Z] RavenPy-main/docs/notebooks/Sensitivity_analysis.ipynb ......            [ 90%]
[2025-12-22T22:00:03.894Z] RavenPy-main/docs/notebooks/time_series_analysis.ipynb ...........       [ 92%]
[2025-12-22T22:00:12.033Z] RavenPy-main/docs/notebooks/paper/Perform_a_climate_change_impact_study_on_a_watershed.ipynb . [ 92%]
[2025-12-22T22:04:58.594Z] ....................                                                     [ 96%]
[2025-12-22T22:05:01.064Z] notebooks/hummingbird.ipynb ............                                 [ 98%]
[2025-12-22T22:07:32.680Z] notebooks/stress-tests.ipynb ......                                      [100%]
[2025-12-22T22:07:32.680Z] 
[2025-12-22T22:07:32.680Z] =================================== FAILURES ===================================
    
  

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/operations Continuous Integration components ci/tests Issues or changes related to tests scripts component/jupyterhub Related to JupyterHub as development frontend with notebooks component/magpie Related to https://github.com/Ouranosinc/Magpie documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants