diff --git a/apps/dreamverse/docker/.dockerignore b/apps/dreamverse/docker/.dockerignore deleted file mode 100644 index 2fb18db60..000000000 --- a/apps/dreamverse/docker/.dockerignore +++ /dev/null @@ -1,40 +0,0 @@ -.git/ -**/.git/ -.venv/ -**/.venv/ -**/__pycache__/ -**/*.pyc -**/*.pyo -**/*.egg-info/ -.pytest_cache/ -**/.pytest_cache/ -.mypy_cache/ -.ruff_cache/ -.cache/ - -apps/dreamverse/web/node_modules/ -apps/dreamverse/web/.next/ -apps/dreamverse/web/out/ -apps/dreamverse/web/dist/ -apps/dreamverse/web/test-results/ -apps/dreamverse/web/playwright-report/ - -apps/dreamverse/outputs/ -apps/dreamverse/dreamverse/outputs/ -apps/dreamverse/dreamverse/prompts.local/ -apps/dreamverse/logs/ -outputs/ -logs/ -slurm-logs/ -wandb/ - -.env -.env.* -**/prompts.local/ -.codex/ -.agents/exploration/ -.vscode/ -.idea/ -*.log -*.tmp -*.pdf diff --git a/apps/dreamverse/docker/Dockerfile.dockerignore b/apps/dreamverse/docker/Dockerfile.dockerignore index 2fb18db60..ae61bdaa1 100644 --- a/apps/dreamverse/docker/Dockerfile.dockerignore +++ b/apps/dreamverse/docker/Dockerfile.dockerignore @@ -2,6 +2,7 @@ **/.git/ .venv/ **/.venv/ +.*dreamverse*/ **/__pycache__/ **/*.pyc **/*.pyo @@ -24,6 +25,9 @@ apps/dreamverse/dreamverse/outputs/ apps/dreamverse/dreamverse/prompts.local/ apps/dreamverse/logs/ outputs/ +outputs_video/ +quality_check_outputs/ +data/ logs/ slurm-logs/ wandb/ @@ -32,7 +36,9 @@ wandb/ .env.* **/prompts.local/ .codex/ -.agents/exploration/ +.agents/ +.opencode/ +.agent_tmp/ .vscode/ .idea/ *.log diff --git a/apps/dreamverse/docker/docker_build.sh b/apps/dreamverse/docker/docker_build.sh index a496a8dbb..5c3ae5c23 100755 --- a/apps/dreamverse/docker/docker_build.sh +++ b/apps/dreamverse/docker/docker_build.sh @@ -4,13 +4,43 @@ set -euo pipefail SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd -- "${SCRIPT_DIR}/../../.." && pwd)" IMAGE="${DREAMVERSE_IMAGE:-dreamverse:dev}" +ROOT_DOCKERIGNORE="${REPO_ROOT}/.dockerignore" +DOCKERFILE_DOCKERIGNORE="${SCRIPT_DIR}/Dockerfile.dockerignore" +CREATED_ROOT_DOCKERIGNORE_SYMLINK=0 + +cleanup_root_dockerignore_symlink() { + if [[ "${CREATED_ROOT_DOCKERIGNORE_SYMLINK}" == "1" && -L "${ROOT_DOCKERIGNORE}" ]] && \ + [[ "$(readlink "${ROOT_DOCKERIGNORE}")" == "${DOCKERFILE_DOCKERIGNORE}" ]]; then + rm -- "${ROOT_DOCKERIGNORE}" + fi +} +trap cleanup_root_dockerignore_symlink EXIT INT TERM + +if [[ -z "${DOCKER_BUILDKIT:-}" ]] && docker buildx version >/dev/null 2>&1; then + export DOCKER_BUILDKIT=1 +fi build_args=() [[ -n "${CUDA_TAG:-}" ]] && build_args+=(--build-arg "CUDA_TAG=${CUDA_TAG}") [[ -n "${BUILD_FASTVIDEO_KERNEL_FROM_SOURCE:-}" ]] && \ build_args+=(--build-arg "BUILD_FASTVIDEO_KERNEL_FROM_SOURCE=${BUILD_FASTVIDEO_KERNEL_FROM_SOURCE}") -exec docker build \ +if [[ "${DOCKER_BUILDKIT:-}" == "1" ]]; then + if [[ -L "${ROOT_DOCKERIGNORE}" ]] && \ + [[ "$(readlink "${ROOT_DOCKERIGNORE}")" == "${DOCKERFILE_DOCKERIGNORE}" ]]; then + rm -- "${ROOT_DOCKERIGNORE}" + printf 'Removed stale temporary root .dockerignore symlink: %s\n' "${ROOT_DOCKERIGNORE}" + fi +elif [[ -e "${ROOT_DOCKERIGNORE}" || -L "${ROOT_DOCKERIGNORE}" ]]; then + printf 'Using existing root .dockerignore: %s\n' "${ROOT_DOCKERIGNORE}" +else + ln -s -- "${DOCKERFILE_DOCKERIGNORE}" "${ROOT_DOCKERIGNORE}" + CREATED_ROOT_DOCKERIGNORE_SYMLINK=1 + printf 'Created temporary root .dockerignore symlink for legacy Docker builder: %s -> %s\n' \ + "${ROOT_DOCKERIGNORE}" "${DOCKERFILE_DOCKERIGNORE}" +fi + +docker build \ -f "${SCRIPT_DIR}/Dockerfile" \ -t "${IMAGE}" \ "${build_args[@]}" \