From 4827cadada4c73e29c098b84430ffc00f8307f80 Mon Sep 17 00:00:00 2001 From: Simone Date: Sat, 25 Jul 2026 19:40:18 +0200 Subject: [PATCH] fix(ci): lint workflow's venv is missing the [web] extra mypy --strict (files = ["src"]) and pytest --cov=ci_orchestrator both walk the whole src tree, web/ included, but the lint job's venv only ever installed .[dev] -- fastapi/starlette/uvicorn/jinja2/authlib were never resolvable, so every symbol they touch degraded to Any under mypy (masking real type errors, and producing a cascading "Returning Any" on _is_htmx_request) and every tests/python/test_web_*.py would fail to import under pytest. Install .[dev,web] instead. Verified against a fresh venv: ruff/mypy --strict/pytest --cov all pass. --- .gitea/workflows/lint.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/lint.yml b/.gitea/workflows/lint.yml index 2a4c4e3..3db1bc9 100644 --- a/.gitea/workflows/lint.yml +++ b/.gitea/workflows/lint.yml @@ -95,7 +95,12 @@ jobs: rm -rf "$VENV_DIR" python3 -m venv "$VENV_DIR" "$VENV_DIR/bin/python" -m pip install --upgrade pip - "$VENV_DIR/bin/python" -m pip install -e ".[dev]" + # mypy --strict (files = ["src"]) and pytest --cov=ci_orchestrator both + # walk the whole src tree, web/ included -- [dev] alone leaves fastapi/ + # starlette/uvicorn/jinja2/authlib unresolved, so every symbol they + # touch degrades to Any (masking real type errors) and every + # tests/python/test_web_*.py fails to import. + "$VENV_DIR/bin/python" -m pip install -e ".[dev,web]" - name: ruff shell: bash