mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-22 18:30:28 +00:00
0590d597a3
CI failed on stage-323 because: 1. mcp_server.py imports the 'mcp' package (optional runtime dep) — only users who actually run the MCP integration install it. CI runs with stdlib-only deps (pyyaml + pytest + pytest-timeout). 2. tests/test_mcp_server.py uses pytest.mark.asyncio which requires pytest-asyncio — not installed in CI. Fix: - Add pytest-asyncio to CI install line. - Try-install mcp; if it fails (Python 3.13 wheel issues, etc.) the test module uses pytest.importorskip and skips cleanly without breaking the matrix. - tests/test_mcp_server.py: add module-level importorskip for both 'mcp' and 'pytest_asyncio' as a safety net. Local: 4947/4947 still pass after change.
38 lines
1.2 KiB
YAML
38 lines
1.2 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [master]
|
|
push:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version: ['3.11', '3.12', '3.13']
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pyyaml>=6.0 pytest pytest-timeout pytest-asyncio
|
|
# Install the `mcp` package so tests/test_mcp_server.py runs in CI.
|
|
# The package is an optional runtime dep of mcp_server.py — users
|
|
# who run the MCP integration install it themselves; CI installs
|
|
# it so test coverage exists. If mcp install fails (Python 3.13
|
|
# wheel not yet available, etc.), tests/test_mcp_server.py uses
|
|
# importorskip and the matrix stays green.
|
|
pip install mcp || echo "mcp install failed — test_mcp_server.py will importorskip"
|
|
|
|
- name: Run tests
|
|
run: pytest tests/ -v --timeout=60
|