chore(scraper-kit): docker-context wiring + restore backend workspace dep (#2137) #2143

Merged
lekss361 merged 1 commit from feat/scraper-kit-docker-wiring into main 2026-07-02 14:21:39 +00:00
Owner

Закрывает #2137 (часть Epic #2126). Разблокирует перенос кода скрапперов (шаги C-G).

Что

Расширяет Docker build tradein-backend, чтобы образ видел workspace-пакет scraper-kit, и возвращает зависимость backend→scraper-kit (снятую в #2139 для build-safe).

Изменения (6 файлов)

  • tradein-mvp/backend/pyproject.toml — вернул scraper-kit в deps + [tool.uv.sources] scraper-kit = { workspace = true }
  • tradein-mvp/uv.lock — перегенерён (backend editable-member scraper-kit)
  • tradein-mvp/backend/Dockerfile — context = workspace root: builder COPY pyproject.toml uv.lock, backend/pyproject.toml, packages/ перед uv sync; runtime COPY packages/ (editable .pthpackages/scraper-kit/src, исходники нужны в рантайме); runtime-layout app/scripts сохранён (bind-mount'ы compose не тронуты)
  • tradein-mvp/docker-compose.ymlbuild.context: . + dockerfile: backend/Dockerfile
  • .forgejo/workflows/deploy-tradein.yml — build-backend: context: ./tradein-mvp, file: ./tradein-mvp/backend/Dockerfile
  • tradein-mvp/.dockerignore (new) — тонкий context (исключает frontend/browser/tests/sql/junk)
  • docker-compose.prod.yml НЕ трогали (там image: из GHCR, собирает GHA build-backend)

Верифицировано реально (docker daemon доступен)

  • cd tradein-mvp && uv sync --frozen --no-dev → scraper-kit==0.1.0 editable, import scraper_kit OK
  • Реальный docker build (context tradein-mvp) — прошёл, builder-assert напечатал путь scraper_kit
  • docker run <img> python -c "import scraper_kit; import app.main" — оба OK в собранном образе
  • docker compose config dev+prod валидны

⚠️ После мержа

Rapid-merge trap: сверить :latest timestamp — editable-путь packages/ должен быть в свежем образе, иначе рантайм-import упадёт. QA проверю.

Закрывает #2137 (часть Epic #2126). Разблокирует перенос кода скрапперов (шаги C-G). ## Что Расширяет Docker build tradein-backend, чтобы образ видел workspace-пакет `scraper-kit`, и возвращает зависимость backend→scraper-kit (снятую в #2139 для build-safe). ## Изменения (6 файлов) - `tradein-mvp/backend/pyproject.toml` — вернул `scraper-kit` в deps + `[tool.uv.sources] scraper-kit = { workspace = true }` - `tradein-mvp/uv.lock` — перегенерён (backend editable-member scraper-kit) - `tradein-mvp/backend/Dockerfile` — context = workspace root: builder `COPY pyproject.toml uv.lock`, `backend/pyproject.toml`, `packages/` перед `uv sync`; runtime `COPY packages/` (editable `.pth` → `packages/scraper-kit/src`, исходники нужны в рантайме); runtime-layout `app`/`scripts` сохранён (bind-mount'ы compose не тронуты) - `tradein-mvp/docker-compose.yml` — `build.context: .` + `dockerfile: backend/Dockerfile` - `.forgejo/workflows/deploy-tradein.yml` — build-backend: `context: ./tradein-mvp`, `file: ./tradein-mvp/backend/Dockerfile` - `tradein-mvp/.dockerignore` (new) — тонкий context (исключает frontend/browser/tests/sql/junk) - `docker-compose.prod.yml` НЕ трогали (там `image:` из GHCR, собирает GHA build-backend) ## Верифицировано реально (docker daemon доступен) - `cd tradein-mvp && uv sync --frozen --no-dev` → scraper-kit==0.1.0 editable, `import scraper_kit` OK - **Реальный `docker build`** (context tradein-mvp) — прошёл, builder-assert напечатал путь scraper_kit - **`docker run <img> python -c "import scraper_kit; import app.main"`** — оба OK в собранном образе - `docker compose config` dev+prod валидны ## ⚠️ После мержа Rapid-merge trap: сверить `:latest` timestamp — editable-путь `packages/` должен быть в свежем образе, иначе рантайм-import упадёт. QA проверю.
lekss361 added 1 commit 2026-07-02 14:21:32 +00:00
chore(scraper-kit): docker-context wiring + restore backend workspace dep (#2137)
All checks were successful
CI / changes (pull_request) Successful in 8s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
10cd85f663
lekss361 merged commit 8d7feabf9f into main 2026-07-02 14:21:39 +00:00
lekss361 deleted branch feat/scraper-kit-docker-wiring 2026-07-02 14:21:39 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2143
No description provided.