diff --git a/Dockerfile.cicd b/Dockerfile.cicd index ba4d9dc..99036e2 100644 --- a/Dockerfile.cicd +++ b/Dockerfile.cicd @@ -147,9 +147,19 @@ RUN --mount=type=secret,id=ssh_private_key \ if [ -n "$GITHUB_SHA" ]; then \ cd /tmp/fullrepo && git checkout "$GITHUB_SHA" 2>/dev/null || echo "Using main branch HEAD"; \ fi && \ - # Copy source code over existing dependency files (preserving node_modules, .venv) + # Copy source code while preserving installed dependencies echo "Copying source code while preserving installed dependencies..." && \ - rsync -av --exclude='node_modules' --exclude='.venv' --exclude='.yarn/cache' /tmp/fullrepo/ /workspace/ && \ + # Backup dependency directories + if [ -d "/workspace/backend/.venv" ]; then mv /workspace/backend/.venv /tmp/venv_backup; fi && \ + if [ -d "/workspace/frontend/node_modules" ]; then mv /workspace/frontend/node_modules /tmp/node_modules_backup; fi && \ + if [ -d "/workspace/frontend/.yarn" ]; then mv /workspace/frontend/.yarn /tmp/yarn_backup; fi && \ + # Copy all source files + cp -rf /tmp/fullrepo/* /workspace/ && \ + cp -rf /tmp/fullrepo/.* /workspace/ 2>/dev/null || true && \ + # Restore dependency directories + if [ -d "/tmp/venv_backup" ]; then mv /tmp/venv_backup /workspace/backend/.venv; fi && \ + if [ -d "/tmp/node_modules_backup" ]; then mv /tmp/node_modules_backup /workspace/frontend/node_modules; fi && \ + if [ -d "/tmp/yarn_backup" ]; then mv /tmp/yarn_backup /workspace/frontend/.yarn; fi && \ echo "✓ Full source code copied, dependencies preserved" && \ rm -rf /tmp/fullrepo ~/.ssh