mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
chore(docker): lean images — drop unused playwright, dedupe grok layer, cache-stable /app layering
- agent-dev-fe / agent-qa-fe: remove playwright chromium + its system libs (~770MB each; verified unused — panel tests are vitest, e2e harness is scripted Python; pnpm kept) - agent-grok: drop the redundant chown -R that duplicated the 149MB CLI tree into a second layer (install already runs as agent) - agent-base + orchestrator runners: split the single /app COPY into .venv-first / source-last layers so a source-only deploy re-layers ~13MB instead of ~380MB per image - agent-base: split the 813MB apt+node+claude-code RUN so a CLI bump no longer re-downloads the OS/node layer - .dockerignore: exclude gitignored docs/internal from the orchestrator's docs COPY; pin uv helper image to 0.11 - verified: all four images rebuilt + runtime-probed (claude/git/jq/node/uv/pnpm/grok, import roboco, docs/alembic/agents present); .venv layer proven CACHED across a source-only change
This commit is contained in:
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
git \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.11 /uv /usr/local/bin/uv
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
@@ -71,8 +71,17 @@ RUN npm install -g pnpm
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy the already-built venv + app tree from builder
|
||||
COPY --from=builder /app /app
|
||||
# Copy the already-built venv + app tree from builder.
|
||||
# .venv first (invalidated only by pyproject.toml/uv.lock changes via the
|
||||
# builder's own dep-then-project split), source dirs last so an app-code-only
|
||||
# change doesn't bust the much larger .venv layer's cache.
|
||||
COPY --from=builder /app/.venv /app/.venv
|
||||
COPY --from=builder /app/pyproject.toml /app/uv.lock /app/README.md /app/
|
||||
COPY --from=builder /app/roboco /app/roboco
|
||||
COPY --from=builder /app/agents /app/agents
|
||||
COPY --from=builder /app/docs /app/docs
|
||||
COPY --from=builder /app/alembic.ini /app/
|
||||
COPY --from=builder /app/alembic /app/alembic
|
||||
|
||||
# uv is needed at runtime: WorkspaceService runs `uv sync` to pre-install
|
||||
# Python cell deps, and CI commands shell out to `uv run`. The builder stage
|
||||
|
||||
Reference in New Issue
Block a user