ci: install the stats extra so the econometrics tests actually run

The quantlib timeseries suite added on 2026-08-06 calls functions that
lazy-import statsmodels, but CI installs only ".[dev,openbb]", so all 56
statsmodels-dependent tests failed with the ImportError those functions
raise by design. Two-sided fix, following the openbb precedent already in
the workflow: CI now installs ".[dev,openbb,stats]" and fails loudly if
statsmodels or arch stops resolving, and the 41 statsmodels-dependent
tests (plus the tool-envelope test that reaches compute_half_life) carry
a skip guard so a base install reports skips instead of failures. The
missing-dependency error-path tests still run exactly where they should:
only in an environment without the extra.
This commit is contained in:
Haozhe Wu committed 2026-08-06 18:07:16 +08:00
1 parent 73a21b1560
commit a1bb7ac029
3 files changed
+66 -4

No files matched your search

+9 -4
View File
@@ -31,12 +31,17 @@ jobs:
# `openbb` is included so agent/tests/test_openbb_bridge actually runs:
# those tests importorskip on openbb_ai, so without the extra the whole
# OpenBB Workspace bridge would report green while never being exercised.
run: pip install -e ".[dev,openbb]"
# `stats` is included for the same reason: the quantlib econometrics
# tests skip without statsmodels/arch, and skipped is not tested.
run: pip install -e ".[dev,openbb,stats]"
- name: Verify optional extras under test are importable
# Fails loudly if the openbb extra stops resolving, instead of letting
# the bridge suite silently degrade to skips.
run: python -c "import openbb_ai, importlib.metadata as m; print('openbb-ai', m.version('openbb-ai'))"
# Fails loudly if an extra stops resolving, instead of letting its
# suite silently degrade to skips.
run: |
python -c "import openbb_ai, importlib.metadata as m; print('openbb-ai', m.version('openbb-ai'))"
python -c "import statsmodels; print('statsmodels', statsmodels.__version__)"
python -c "import arch; print('arch', arch.__version__)"
- name: Repository safety gates
run: bash tools/ci_grep_gates.sh