Compare commits

..

1 commit

Author SHA1 Message Date
Pier-Jean Malandrino
c3d4b11f48 fix(ci): install pytestarch in docling-compat workflow
Some checks failed
CI / Backend tests (push) Has been cancelled
CI / Frontend tests & build (push) Has been cancelled
CI / E2E API tests (Karate) (push) Has been cancelled
CI / E2E UI tests (Karate UI) (push) Has been cancelled
The daily docling-compat job manually installed only pytest, pytest-asyncio
and httpx, which made test_architecture.py fail with ModuleNotFoundError:
no module named 'pytestarch' — wrongly opening 'Docling compatibility break'
issues. Align with ci.yml by installing requirements-test.txt instead.
2026-05-05 09:38:36 +02:00
2 changed files with 11 additions and 21 deletions

View file

@ -27,7 +27,7 @@ jobs:
with:
python-version: "3.12"
cache: pip
cache-dependency-path: document-parser/requirements.txt
cache-dependency-path: document-parser/requirements-test.txt
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends poppler-utils
@ -35,8 +35,8 @@ jobs:
- name: Install pinned dependencies
run: |
pip install --upgrade pip
pip install -r requirements.txt
pip install pytest pytest-asyncio httpx
pip install -r requirements-test.txt
pip install httpx
- name: Upgrade docling to latest
id: versions

View file

@ -238,14 +238,6 @@ async function renderGraph(): Promise<void> {
)
parentMap.value = computedParentMap
// Guard against dangling edges (source/target not in the node set). Both
// backends can emit them in edge cases e.g. ON_PAGE edges whose page_no
// doesn't match any returned Page node, or DERIVED_FROM edges crossing
// document boundaries in Neo4j. Cytoscape-dagre auto-creates a skeleton
// graphlib entry for the missing endpoint with undefined data, then crashes
// in its ordering phase when it tries to set `.order` on that entry.
const nodeIds = new Set(payload.value.nodes.map((n) => n.id))
const elements = [
...payload.value.nodes.map((n) => ({
data: {
@ -264,16 +256,14 @@ async function renderGraph(): Promise<void> {
raw: n,
},
})),
...payload.value.edges
.filter((e) => nodeIds.has(e.source) && nodeIds.has(e.target))
.map((e) => ({
data: {
id: e.id,
source: e.source,
target: e.target,
type: e.type,
},
})),
...payload.value.edges.map((e) => ({
data: {
id: e.id,
source: e.source,
target: e.target,
type: e.type,
},
})),
]
cy.value = cytoscape({