Skip to content
Started by an SCM change
Obtained jenkins_tests/clubb_dash/Jenkinsfile from git https://github.com/larson-group/clubb.git
[Pipeline] Start of Pipeline
[Pipeline] node
Running on overlie in /home/jenkins/workspace/clubb_dash
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Declarative: Checkout SCM)
[Pipeline] checkout
The recommended git tool is: git
Wiping out workspace first.
Cloning the remote Git repository
Cloning repository https://github.com/larson-group/clubb.git
 > git init /home/jenkins/workspace/clubb_dash # timeout=10
Fetching upstream changes from https://github.com/larson-group/clubb.git
 > git --version # timeout=10
 > git --version # 'git version 2.43.0'
using GIT_ASKPASS to set credentials larsongroupsysadmin github token
 > git fetch --tags --force --progress -- https://github.com/larson-group/clubb.git +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
Checking out Revision c47faf30cea562966e64eedc259a5074c6cf89b1 (refs/remotes/origin/master)
 > git config remote.origin.url https://github.com/larson-group/clubb.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git config core.sparsecheckout # timeout=10
 > git checkout -f c47faf30cea562966e64eedc259a5074c6cf89b1 # timeout=10
Commit message: "Restore missing debug printouts in JAX core (#1390)"
 > git rev-list --no-walk 09499c45d0ef25810f48bbd43c8f92afa1497caa # timeout=10
[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Run Dash pytests)
[Pipeline] withEnv
[Pipeline] {
[Pipeline] sh
+ export PATH=/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+ PATH=/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+ node --version
v22.23.3
+ bash tests/run_pytests.sh -dash --junitxml=/home/jenkins/workspace/clubb_dash/output/tests/pytests/dash.xml --durations=10
Installing uv 0.11.32 in /home/jenkins/workspace/clubb_dash/.clubb-python-tools/bin
downloading uv 0.11.32 x86_64-unknown-linux-gnu
installing to /home/jenkins/workspace/clubb_dash/.clubb-python-tools/bin
  uv
  uvx
everything's installed!
Creating CLUBB virtualenv: /home/jenkins/workspace/clubb_dash/.venv-python
Using CPython 3.12.3 interpreter at: /usr/bin/python3.12
Creating virtual environment at: .venv-python
Activate with: source .venv-python/bin/activate
Installing dash requirements into /home/jenkins/workspace/clubb_dash/.venv-python
Using Python 3.12.3 environment at: .venv-python
Resolved 71 packages in 761ms
Downloading pydantic-core (2.1MiB)
Downloading scipy (33.7MiB)
Downloading kiwisolver (1.4MiB)
Downloading matplotlib (8.4MiB)
Downloading dash (7.6MiB)
Downloading cryptography (4.5MiB)
Downloading plotly (9.5MiB)
Downloading pillow (6.6MiB)
Downloading cftime (1.6MiB)
Downloading numpy (16.0MiB)
Downloading pygments (1.2MiB)
Downloading meson (1.1MiB)
Downloading fonttools (5.2MiB)
Downloading netcdf4 (10.1MiB)
 Downloaded kiwisolver
 Downloaded cftime
 Downloaded pydantic-core
 Downloaded meson
 Downloaded pygments
 Downloaded cryptography
 Downloaded fonttools
 Downloaded pillow
 Downloaded dash
 Downloaded netcdf4
 Downloaded matplotlib
 Downloaded numpy
 Downloaded plotly
 Downloaded scipy
Prepared 71 packages in 1.73s
Installed 71 packages in 54ms
 + annotated-types==0.8.0
 + anyio==4.15.1
 + attrs==26.1.0
 + blinker==1.9.0
 + certifi==2026.7.22
 + cffi==2.1.1
 + cftime==1.6.6.1
 + charset-normalizer==3.5.2
 + click==8.5.0
 + contourpy==1.4.0
 + cryptography==50.0.2
 + cycler==0.12.1
 + dash==3.4.0
 + dill==0.4.1
 + diskcache==5.6.3
 + flask==3.1.3
 + fonttools==4.67.0
 + h11==0.16.0
 + httpcore==1.0.9
 + httpx==0.28.1
 + httpx-sse==0.4.3
 + idna==3.20
 + importlib-metadata==9.0.1
 + iniconfig==2.3.1
 + itsdangerous==2.2.0
 + jinja2==3.1.6
 + jsonschema==4.26.0
 + jsonschema-specifications==2025.9.1
 + kiwisolver==1.5.1
 + markupsafe==3.0.4
 + matplotlib==3.10.9
 + mcp==1.30.0
 + meson==1.12.1
 + multiprocess==0.70.19
 + narwhals==2.27.1
 + nest-asyncio==1.6.0
 + netcdf4==1.7.5
 + ninja==1.13.2
 + numpy==2.5.4
 + packaging==26.3
 + pillow==12.3.0
 + plotly==6.9.0
 + pluggy==1.7.0
 + psutil==7.2.2
 + pycparser==3.11
 + pydantic==2.14.1
 + pydantic-core==2.50.1
 + pydantic-settings==2.16.0
 + pygments==2.21.0
 + pyjwt==2.15.1
 + pyparsing==3.3.3
 + pytest==9.1.1
 + python-dateutil==2.9.0.post0
 + python-dotenv==1.2.4
 + python-multipart==0.0.32
 + referencing==0.37.0
 + requests==2.34.2
 + retrying==1.4.2
 + rpds-py==2026.9.1
 + scipy==1.18.1
 + setuptools==84.0.0
 + six==1.17.0
 + sse-starlette==3.5.0
 + starlette==1.8.0
 + tabulate==0.10.0
 + typing-extensions==4.16.0
 + typing-inspection==0.4.4
 + urllib3==2.8.0
 + uvicorn==0.54.0
 + werkzeug==3.1.9
 + zipp==4.1.1
Ready: /home/jenkins/workspace/clubb_dash/.venv-python/bin/python
============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-9.1.1, pluggy-1.7.0
rootdir: /home/jenkins/workspace/clubb_dash
plugins: dash-3.4.0, anyio-4.15.1
collected 552 items

dash_app/pytests/test_activity.py .........                              [  1%]
dash_app/pytests/test_agent_integration.py ..............                [  4%]
dash_app/pytests/test_agent_plot_actions.py ........                     [  5%]
dash_app/pytests/test_agent_services.py ................................ [ 11%]
.................                                                        [ 14%]
dash_app/pytests/test_agent_tab_registry.py ......                       [ 15%]
dash_app/pytests/test_agent_tuning.py ............                       [ 17%]
dash_app/pytests/test_analysis.py .....                                  [ 18%]
dash_app/pytests/test_app_startup.py ..........                          [ 20%]
dash_app/pytests/test_atlas.py .                                         [ 20%]
dash_app/pytests/test_bivariate_heatmap.py ..                            [ 21%]
dash_app/pytests/test_callbacks_runs.py ............                     [ 23%]
dash_app/pytests/test_compile_tab_build_status.py .................      [ 26%]
dash_app/pytests/test_custom_plot.py ........                            [ 27%]
dash_app/pytests/test_dashboard_activity_labels.py .                     [ 27%]
dash_app/pytests/test_dashboard_lifecycle.py ...                         [ 28%]
dash_app/pytests/test_dashboard_manager.py ......                        [ 29%]
dash_app/pytests/test_equations.py ...                                   [ 30%]
dash_app/pytests/test_fill_holes_viewer.py ....                          [ 30%]
dash_app/pytests/test_jax_device.py .....................                [ 34%]
dash_app/pytests/test_mcp_endpoint.py ...                                [ 35%]
dash_app/pytests/test_misc_tab.py ...                                    [ 35%]
dash_app/pytests/test_netcdf.py ......                                   [ 36%]
dash_app/pytests/test_output_directory_picker.py ......                  [ 37%]
dash_app/pytests/test_output_discovery.py .......                        [ 39%]
dash_app/pytests/test_pane_resize.py ...                                 [ 39%]
dash_app/pytests/test_param_disclosures.py ........                      [ 41%]
dash_app/pytests/test_pdf_contour_plot.py ......................         [ 45%]
dash_app/pytests/test_performance_polling.py .......                     [ 46%]
dash_app/pytests/test_persistence.py ....                                [ 47%]
dash_app/pytests/test_plot_case_cache.py ..........                      [ 48%]
dash_app/pytests/test_plot_extraction.py ............................... [ 54%]
                                                                         [ 54%]
dash_app/pytests/test_plot_grid_updates.py .....                         [ 55%]
dash_app/pytests/test_plot_help.py ...                                   [ 55%]
dash_app/pytests/test_plot_tasks.py ..........                           [ 57%]
dash_app/pytests/test_plot_transitions.py .............                  [ 60%]
dash_app/pytests/test_profile_tab.py ..............................      [ 65%]
dash_app/pytests/test_profiles.py ......                                 [ 66%]
dash_app/pytests/test_pyplotgen_export.py ......                         [ 67%]
dash_app/pytests/test_pyplotgen_output_handler.py .                      [ 67%]
dash_app/pytests/test_reports_tab.py .......                             [ 69%]
dash_app/pytests/test_run_broker_simplification.py ..................... [ 73%]
                                                                         [ 73%]
dash_app/pytests/test_run_callbacks_settings.py ..............           [ 75%]
dash_app/pytests/test_run_runtime.py ..........                          [ 77%]
dash_app/pytests/test_runtime.py ..                                      [ 77%]
dash_app/pytests/test_runtime_logging.py .....                           [ 78%]
dash_app/pytests/test_runtime_loss_batches.py .                          [ 78%]
dash_app/pytests/test_sam_3d_reference.py .                              [ 78%]
dash_app/pytests/test_scm_override.py ......                             [ 80%]
dash_app/pytests/test_selected_build.py .....................            [ 83%]
dash_app/pytests/test_state_persistence.py .............                 [ 86%]
dash_app/pytests/test_stats_selection.py ............................... [ 91%]
                                                                         [ 91%]
dash_app/pytests/test_taylor_window_display.py .....                     [ 92%]
dash_app/pytests/test_tunable_config_save.py ...............             [ 95%]
dash_app/pytests/test_tune_callbacks_settings.py .............           [ 97%]
dash_app/pytests/test_tutorial_tab.py ..                                 [ 98%]
dash_app/pytests/test_two_gaussian_model.py ......                       [ 99%]
dash_app/pytests/test_workspace_selection.py ....                        [100%]

=============================== warnings summary ===============================
dash_app/pytests/test_plot_case_cache.py::test_hydration_keeps_saved_view_and_scans_once
  /home/jenkins/workspace/clubb_dash/dash_app/plot_tab/case_definitions.py:35: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
    legacy_str = getattr(ast, "Str", None)

dash_app/pytests/test_plot_case_cache.py: 4120 warnings
  /home/jenkins/workspace/clubb_dash/dash_app/plot_tab/case_definitions.py:36: DeprecationWarning: ast.Str is deprecated and will be removed in Python 3.14; use ast.Constant instead
    if legacy_str is not None and isinstance(node, legacy_str):

dash_app/pytests/test_plot_case_cache.py::test_hydration_keeps_saved_view_and_scans_once
  /home/jenkins/workspace/clubb_dash/dash_app/plot_tab/case_definitions.py:39: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
    legacy_num = getattr(ast, "Num", None)

dash_app/pytests/test_plot_case_cache.py: 4120 warnings
  /home/jenkins/workspace/clubb_dash/dash_app/plot_tab/case_definitions.py:40: DeprecationWarning: ast.Num is deprecated and will be removed in Python 3.14; use ast.Constant instead
    if legacy_num is not None and isinstance(node, legacy_num):

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
- generated xml file: /home/jenkins/workspace/clubb_dash/output/tests/pytests/dash.xml -
============================= slowest 10 durations =============================
1.52s call     dash_app/pytests/test_plot_tasks.py::test_browser_updates_selection_immediately_and_ignores_stale_results
1.21s call     dash_app/pytests/test_agent_services.py::test_mcp_stdio_discovery_and_structured_error_round_trip
0.97s call     dash_app/pytests/test_agent_plot_actions.py::test_profile_png_renderer_writes_a_real_png
0.83s call     dash_app/pytests/test_plot_case_cache.py::test_background_worker_snapshot_resolves_in_main_process
0.72s call     dash_app/pytests/test_plot_tasks.py::test_real_worker_inspects_missing_directory_and_serializes_no_update
0.64s call     dash_app/pytests/test_agent_services.py::test_mcp_exposes_closed_world_typed_tools_and_annotations
0.44s call     dash_app/pytests/test_pdf_contour_plot.py::test_pdf_compare_mode_builds_shared_axis_directory_panels
0.41s call     dash_app/pytests/test_netcdf.py::test_shared_netcdf_consumers_import_as_dashboard_packages
0.38s call     dash_app/pytests/test_run_broker_simplification.py::test_default_new_scenario_keeps_four_reservations_and_restarts_finished_case
0.37s call     dash_app/pytests/test_fill_holes_viewer.py::test_profile_field_scale_defaults_to_log_and_can_be_linear
===================== 552 passed, 8242 warnings in 23.66s ======================
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] junit
Recording test results
[Checks API] No suitable checks publisher found.
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS