From 0f0212a95c9245c710d90d65131314cb86ae0fcf Mon Sep 17 00:00:00 2001 From: lekss361 Date: Sun, 28 Jun 2026 15:15:09 +0000 Subject: [PATCH] =?UTF-8?q?fix(tradein):=20=D0=B3=D0=B0=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20lxml=20?= =?UTF-8?q?=D0=B2=20backend-=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=D0=B5=20?= =?UTF-8?q?=E2=80=94=20bust=20=D0=BA=D1=8D=D1=88=D0=B0=20uv=20sync=20+=20a?= =?UTF-8?q?ssert=20import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Образ tradein-backend задеплоился без lxml (слой `uv sync` переиспользовал устаревший build-cache при rapid-merge PR3+PR4), из-за чего ГАР-loader падает с ModuleNotFoundError. lxml корректно в [project].dependencies — проблема в кэше. Меняю команду RUN (детерминированно инвалидирует слой) + `import lxml` как build-time assert: если зависимость снова пропадёт — сборка упадёт громко. --- tradein-mvp/backend/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tradein-mvp/backend/Dockerfile b/tradein-mvp/backend/Dockerfile index 032fa193..2b5fcd35 100644 --- a/tradein-mvp/backend/Dockerfile +++ b/tradein-mvp/backend/Dockerfile @@ -20,8 +20,12 @@ RUN pip install --no-cache-dir uv WORKDIR /app COPY pyproject.toml ./ +# NB: команда содержит `import lxml`-assert — это И bust'ит build-cache этого слоя +# (защита от stale-кэша, который однажды задеплоил образ без lxml), И валидирует, +# что зависимость реально установлена (иначе сборка падает громко, а не в рантайме). RUN --mount=type=cache,target=/root/.cache/uv \ - uv sync --no-dev + uv sync --no-dev \ + && /app/.venv/bin/python -c "import lxml; print('lxml', lxml.__version__)" COPY app ./app COPY scripts ./scripts -- 2.45.3