fix(tradein): гарантировать lxml в backend-образе — bust кэша uv sync + assert import
All checks were successful
CI / changes (pull_request) Successful in 7s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped

Образ tradein-backend задеплоился без lxml (слой `uv sync` переиспользовал
устаревший build-cache при rapid-merge PR3+PR4), из-за чего ГАР-loader падает
с ModuleNotFoundError. lxml корректно в [project].dependencies — проблема в кэше.
Меняю команду RUN (детерминированно инвалидирует слой) + `import lxml` как
build-time assert: если зависимость снова пропадёт — сборка упадёт громко.
This commit is contained in:
lekss361 2026-06-28 15:15:09 +00:00
parent bcbbb53495
commit 0f0212a95c

View file

@ -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