Configure monorepo build: unified CI, local deps, .dockerignore
- Dockerfiles use monorepo root as build context - common/ and core/ installed as local packages (no git+https) - Client tarball built from local client/ dir - Unified CI with change detection: common/core -> rebuild both - Per-repo CI workflows removed Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,25 +1,28 @@
|
||||
FROM python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install git and ffmpeg (for video transcoding)
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends git ffmpeg && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install dependencies
|
||||
COPY requirements.txt .
|
||||
# Install common + core as local packages (no more git+https)
|
||||
COPY common/ /tmp/common/
|
||||
COPY core/ /tmp/core/
|
||||
RUN pip install --no-cache-dir /tmp/common/ /tmp/core/ && rm -rf /tmp/common /tmp/core
|
||||
|
||||
# Install L1 dependencies
|
||||
COPY l1/requirements.txt .
|
||||
ARG CACHEBUST=1
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Copy application
|
||||
COPY . .
|
||||
# Copy L1 application
|
||||
COPY l1/ .
|
||||
|
||||
# Clone effects repo
|
||||
# Build client tarball from local client/ dir
|
||||
COPY client/ /tmp/artdag-client/
|
||||
RUN cd /tmp && tar -czf /app/artdag-client.tar.gz artdag-client && rm -rf /tmp/artdag-client
|
||||
|
||||
# Clone effects repo (still external)
|
||||
RUN git clone https://git.rose-ash.com/art-dag/effects.git /app/artdag-effects
|
||||
|
||||
# Build client tarball for download
|
||||
RUN ./build-client.sh
|
||||
|
||||
# Create cache directory
|
||||
RUN mkdir -p /data/cache
|
||||
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
@@ -27,5 +30,4 @@ ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV EFFECTS_PATH=/app/artdag-effects
|
||||
ENV PYTHONPATH=/app
|
||||
|
||||
# Default command runs the server
|
||||
CMD ["python", "server.py"]
|
||||
|
||||
Reference in New Issue
Block a user