diff --git a/.github/workflows/advanced-docker-compose-build.yml b/.github/workflows/advanced-docker-compose-build.yml index 5acc717e..2e0bfb15 100644 --- a/.github/workflows/advanced-docker-compose-build.yml +++ b/.github/workflows/advanced-docker-compose-build.yml @@ -106,6 +106,24 @@ jobs: echo ".env not found; continuing" fi + - name: Free Disk Space + run: | + echo "Freeing disk space..." + df -h + sudo rm -rf /usr/share/dotnet + sudo rm -rf /usr/local/lib/android + sudo rm -rf /opt/ghc + sudo rm -rf /usr/share/swift + docker system prune -a -f + df -h + + - name: Initialize OpenMemory cache + run: | + echo "Initializing OpenMemory cache..." + cd ../../extras/openmemory-mcp + chmod +x init-cache.sh + ./init-cache.sh + - name: Determine version id: version run: | @@ -116,6 +134,7 @@ jobs: else VERSION="sha-${GITHUB_SHA::7}" fi + echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT" - name: Build, tag, and push services sequentially with version @@ -177,6 +196,9 @@ jobs: docker image rm -f "$target_image" || true docker image rm -f "$latest_image" || true echo "::endgroup::" + + # Aggressive cleanup to save space + docker system prune -af || true done # Build and push parakeet-asr with CUDA variants (cu121, cu126, cu128) @@ -205,6 +227,9 @@ jobs: docker image rm -f "$target_image" || true docker image rm -f "$latest_image" || true fi + + # Aggressive cleanup to save space + docker system prune -af || true done cd - > /dev/null echo "::endgroup::" @@ -237,6 +262,9 @@ jobs: docker image rm -f "$target_image" || true docker image rm -f "$latest_image" || true fi + + # Aggressive cleanup to save space + docker system prune -af || true done cd - > /dev/null echo "::endgroup::" diff --git a/extras/asr-services/Dockerfile_Moonshine b/extras/asr-services/Dockerfile_Moonshine index c193dde3..0fbfa861 100644 --- a/extras/asr-services/Dockerfile_Moonshine +++ b/extras/asr-services/Dockerfile_Moonshine @@ -12,8 +12,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # Dependency manifest first for cache‑friendly installs COPY pyproject.toml uv.lock ./ -RUN --mount=type=cache,target=/root/.cache/uv \ - uv sync --no-install-project --compile-bytecode --group moonshine +RUN uv sync --no-install-project --compile-bytecode --group moonshine && \ + uv cache clean # Add source and install project itself COPY . . diff --git a/extras/asr-services/Dockerfile_Parakeet b/extras/asr-services/Dockerfile_Parakeet index 91e4ba8b..368d2130 100644 --- a/extras/asr-services/Dockerfile_Parakeet +++ b/extras/asr-services/Dockerfile_Parakeet @@ -16,8 +16,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # Dependency manifest first for cache‑friendly installs COPY pyproject.toml uv.lock ./ -RUN --mount=type=cache,target=/root/.cache/uv \ - uv sync --no-install-project --group parakeet --extra ${CUDA_VERSION} +RUN uv sync --no-install-project --group parakeet --extra ${CUDA_VERSION} && \ + uv cache clean # Should prepare the .venv for use :) diff --git a/extras/speaker-recognition/Dockerfile b/extras/speaker-recognition/Dockerfile index 0fc84b84..d14baf35 100644 --- a/extras/speaker-recognition/Dockerfile +++ b/extras/speaker-recognition/Dockerfile @@ -28,7 +28,8 @@ RUN mkdir -p src/simple_speaker_recognition COPY src/simple_speaker_recognition/__init__.py src/simple_speaker_recognition/ # Install dependencies and package -RUN uv sync --no-dev --extra ${PYTORCH_CUDA_VERSION} +RUN uv sync --no-dev --extra ${PYTORCH_CUDA_VERSION} && \ + uv cache clean # Create directories RUN mkdir -p /app/audio_chunks /app/debug /app/data /models