diff --git a/.github/actions/free-disk-space/action.yml b/.github/actions/free-disk-space/action.yml new file mode 100644 index 000000000..4050be74d --- /dev/null +++ b/.github/actions/free-disk-space/action.yml @@ -0,0 +1,65 @@ +name: 'Free disk space on hosted runners' +description: | + Aggressively clean GitHub-hosted ubuntu-latest runners to reclaim ~6-10 GB + of working space before docker buildx steps. Combines jlumbroso/free-disk-space + with explicit apt purges of large packages we never use (dotnet, ghc, mono, + android, jdk, ...). + + No-op on self-hosted runners; pass mode=skip to force-disable. + +inputs: + mode: + description: 'hosted (default — clean) or skip (no-op)' + required: false + default: 'hosted' + +runs: + using: 'composite' + steps: + - name: Free Disk Space (Ubuntu) + if: inputs.mode == 'hosted' && runner.environment == 'github-hosted' + uses: jlumbroso/free-disk-space@main + with: + tool-cache: true + android: true + dotnet: true + haskell: true + large-packages: true + docker-images: true + swap-storage: true + + - name: Release space from worker + if: inputs.mode == 'hosted' && runner.environment == 'github-hosted' + shell: bash + run: | + echo "Listing top largest packages" + pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) + head -n 30 <<< "${pkgs}" + df -h + sudo apt-get remove -y '^llvm-.*|^libllvm.*' || true + sudo apt-get remove --auto-remove android-sdk-platform-tools snapd || true + sudo apt-get purge --auto-remove android-sdk-platform-tools snapd || true + sudo rm -rf /usr/local/lib/android + sudo apt-get remove -y '^dotnet-.*|^aspnetcore-.*' || true + sudo rm -rf /usr/share/dotnet + sudo apt-get remove -y '^mono-.*' || true + sudo apt-get remove -y '^ghc-.*' || true + sudo apt-get remove -y '.*jdk.*|.*jre.*' || true + sudo apt-get remove -y 'php.*' || true + sudo apt-get remove -y hhvm powershell firefox monodoc-manual msbuild || true + sudo apt-get remove -y '^google-.*' || true + sudo apt-get remove -y azure-cli || true + sudo apt-get remove -y '^mongo.*-.*|^postgresql-.*|^mysql-.*|^mssql-.*' || true + sudo apt-get remove -y '^gfortran-.*' || true + sudo apt-get remove -y microsoft-edge-stable || true + sudo apt-get remove -y firefox || true + sudo apt-get remove -y powershell || true + sudo apt-get remove -y r-base-core || true + sudo apt-get autoremove -y + sudo apt-get clean + sudo rm -rfv build || true + sudo rm -rf /usr/share/dotnet || true + sudo rm -rf /opt/ghc || true + sudo rm -rf "/usr/local/share/boost" || true + sudo rm -rf "$AGENT_TOOLSDIRECTORY" || true + df -h diff --git a/.github/actions/setup-build-disk/action.yml b/.github/actions/setup-build-disk/action.yml new file mode 100644 index 000000000..972997732 --- /dev/null +++ b/.github/actions/setup-build-disk/action.yml @@ -0,0 +1,59 @@ +name: 'Set up build disk on hosted runners' +description: | + Relocate Docker's data-root to /mnt (which has ~75 GB free, vs ~20 GB + on / after free-disk-space). Combined with the apt cleanup, gives + ~100 GB working space for buildx — enough for ROCm dev image + vLLM + torch install + flash-attn build. + + No-op on: + - self-hosted runners (no /mnt expectation) + - non-X64 runners (verify /mnt shape on ubuntu-24.04-arm separately + before enabling there — see Task 3.2 in the migration plan) + - mode=skip (force-disable from caller) + + Must run after free-disk-space (which removes large packages — would + fail mid-uninstall if Docker were stopped) and before any Docker + operation (setup-qemu, setup-buildx, login, build) so the relocated + data-root catches all subsequent docker activity. + +inputs: + mode: + description: 'auto (default — relocate on hosted X64 only) or skip' + required: false + default: 'auto' + +runs: + using: 'composite' + steps: + - name: Relocate Docker data-root to /mnt + if: inputs.mode == 'auto' && runner.environment == 'github-hosted' && runner.arch == 'X64' + shell: bash + run: | + set -euo pipefail + echo "Before relocation:" + df -h / /mnt || true + sudo systemctl stop docker docker.socket + sudo mkdir -p /mnt/docker-data /mnt/docker-tmp + # buildx CLI runs as the unprivileged runner user and creates + # config dirs under TMPDIR before binding them into the buildkit + # container. /mnt is owned by root by default; mirror /tmp's + # 1777 (world-writable + sticky) so non-root processes can write. + sudo chmod 1777 /mnt/docker-tmp + if [ -d /var/lib/docker ] && [ ! -L /var/lib/docker ]; then + sudo rsync -a /var/lib/docker/ /mnt/docker-data/ + sudo rm -rf /var/lib/docker + sudo ln -s /mnt/docker-data /var/lib/docker + fi + # daemon.json may not exist; merge data-root in or create minimal. + if [ -f /etc/docker/daemon.json ]; then + sudo jq '."data-root" = "/mnt/docker-data"' /etc/docker/daemon.json | sudo tee /etc/docker/daemon.json.new >/dev/null + sudo mv /etc/docker/daemon.json.new /etc/docker/daemon.json + else + echo '{"data-root":"/mnt/docker-data"}' | sudo tee /etc/docker/daemon.json + fi + sudo systemctl start docker + # Make TMPDIR persist for subsequent steps in the same job. + echo "TMPDIR=/mnt/docker-tmp" >> "$GITHUB_ENV" + echo "After relocation:" + df -h / /mnt + docker info | grep -i 'docker root dir' || true diff --git a/.github/backend-matrix.yml b/.github/backend-matrix.yml new file mode 100644 index 000000000..e7b8afeb9 --- /dev/null +++ b/.github/backend-matrix.yml @@ -0,0 +1,3223 @@ +--- +# Matrix data for backend container image builds. +# Consumed by scripts/changed-backends.js for both backend.yml and backend_pr.yml. +# This file is NOT a workflow — it has no top-level 'on:' or 'jobs:'. + +# Linux matrix (consumed by backend-jobs). +include: + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-diffusers' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "diffusers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-vllm' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "vllm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-sglang' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "sglang" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-diffusers' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "diffusers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-chatterbox' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "chatterbox" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-moonshine' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "moonshine" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # tinygrad ships a single image — its CPU device uses bundled + # libLLVM, and its CUDA / HIP / Metal devices dlopen the host + # driver libraries at runtime via tinygrad's ctypes autogen + # wrappers. There is no toolkit-version split because tinygrad + # generates kernels itself (PTX renderer for CUDA) and never + # links against cuDNN/cuBLAS/torch. + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-tinygrad' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "tinygrad" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-whisperx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "whisperx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-faster-whisper' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "faster-whisper" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-ace-step' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "ace-step" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-trl' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "trl" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-llama-cpp-quantization' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "llama-cpp-quantization" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-mlx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "mlx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-mlx-vlm' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "mlx-vlm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-mlx-audio' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "mlx-audio" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-mlx-distributed' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "mlx-distributed" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # CUDA 12 builds + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-vibevoice' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vibevoice" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-qwen-asr' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen-asr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-nemo' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "nemo" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-qwen-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-fish-speech' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "fish-speech" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-faster-qwen3-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "faster-qwen3-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-voxcpm' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "voxcpm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-pocket-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "pocket-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-rerankers' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "rerankers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-llama-cpp' + runs-on: 'bigger-runner' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-turboquant' + runs-on: 'bigger-runner' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-vllm' + runs-on: 'arc-runner-set' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vllm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-vllm-omni' + runs-on: 'arc-runner-set' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vllm-omni" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-sglang' + runs-on: 'arc-runner-set' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sglang" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-transformers' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "transformers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-diffusers' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "diffusers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-ace-step' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "ace-step" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-trl' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "trl" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-kokoro' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "kokoro" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-faster-whisper' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "faster-whisper" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-whisperx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "whisperx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "9" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-coqui' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "coqui" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-outetts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "outetts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-chatterbox' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "chatterbox" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-moonshine' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "moonshine" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-mlx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "mlx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-mlx-vlm' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "mlx-vlm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-mlx-audio' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "mlx-audio" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-mlx-distributed' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "mlx-distributed" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-stablediffusion-ggml' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "stablediffusion-ggml" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-sam3-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sam3-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-whisper' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-acestep-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-qwen3-tts-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-vibevoice-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-rfdetr' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "rfdetr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-insightface' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "insightface" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-speaker-recognition' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "speaker-recognition" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-neutts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "neutts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # cuda 13 + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-rerankers' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "rerankers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-vibevoice' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vibevoice" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-qwen-asr' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen-asr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-nemo' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "nemo" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-qwen-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-fish-speech' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "fish-speech" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-faster-qwen3-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "faster-qwen3-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-voxcpm' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "voxcpm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-pocket-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "pocket-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-llama-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-turboquant' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-llama-cpp' + base-image: "ubuntu:24.04" + runs-on: 'ubuntu-24.04-arm' + ubuntu-version: '2404' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-turboquant' + base-image: "ubuntu:24.04" + runs-on: 'ubuntu-24.04-arm' + ubuntu-version: '2404' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-vllm' + runs-on: 'arc-runner-set' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vllm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-vllm-omni' + runs-on: 'arc-runner-set' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vllm-omni" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-sglang' + runs-on: 'arc-runner-set' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sglang" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-transformers' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "transformers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-diffusers' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "diffusers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-ace-step' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "ace-step" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-trl' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "trl" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-vibevoice' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "vibevoice" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-qwen-asr' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "qwen-asr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-qwen-tts' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "qwen-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-fish-speech' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "fish-speech" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-faster-qwen3-tts' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "faster-qwen3-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-pocket-tts' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "pocket-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-chatterbox' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "chatterbox" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-diffusers' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "diffusers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-vllm' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "vllm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-vllm-omni' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "vllm-omni" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-sglang' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "sglang" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-mlx' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "mlx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-mlx-vlm' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "mlx-vlm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-mlx-audio' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "mlx-audio" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-mlx-distributed' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "mlx-distributed" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-whisperx' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "whisperx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'l4t' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-faster-whisper' + runs-on: 'ubuntu-24.04-arm' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + ubuntu-version: '2404' + backend: "faster-whisper" + dockerfile: "./backend/Dockerfile.python" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-kokoro' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "kokoro" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-faster-whisper' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "faster-whisper" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-whisperx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "whisperx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-chatterbox' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "chatterbox" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-moonshine' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "moonshine" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-mlx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "mlx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-mlx-vlm' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "mlx-vlm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-mlx-audio' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "mlx-audio" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-mlx-distributed' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "mlx-distributed" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-stablediffusion-ggml' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "stablediffusion-ggml" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-stablediffusion-ggml' + base-image: "ubuntu:24.04" + ubuntu-version: '2404' + runs-on: 'ubuntu-24.04-arm' + backend: "stablediffusion-ggml" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-sam3-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sam3-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-sam3-cpp' + base-image: "ubuntu:24.04" + ubuntu-version: '2404' + runs-on: 'ubuntu-24.04-arm' + backend: "sam3-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-whisper' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-whisper' + base-image: "ubuntu:24.04" + ubuntu-version: '2404' + runs-on: 'ubuntu-24.04-arm' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-acestep-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-qwen3-tts-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-vibevoice-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-acestep-cpp' + base-image: "ubuntu:24.04" + ubuntu-version: '2404' + runs-on: 'ubuntu-24.04-arm' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-qwen3-tts-cpp' + base-image: "ubuntu:24.04" + ubuntu-version: '2404' + runs-on: 'ubuntu-24.04-arm' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-cuda-13-arm64-vibevoice-cpp' + base-image: "ubuntu:24.04" + ubuntu-version: '2404' + runs-on: 'ubuntu-24.04-arm' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-rfdetr' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "rfdetr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # hipblas builds + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-rerankers' + runs-on: 'ubuntu-latest' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "rerankers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-llama-cpp' + runs-on: 'ubuntu-latest' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-turboquant' + runs-on: 'ubuntu-latest' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-vllm' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "vllm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-vllm-omni' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "vllm-omni" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-sglang' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "sglang" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-transformers' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "transformers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-diffusers' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "diffusers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-ace-step' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "ace-step" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # ROCm additional backends + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-kokoro' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "kokoro" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-vibevoice' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "vibevoice" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-qwen-asr' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "qwen-asr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-nemo' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "nemo" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-qwen-tts' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "qwen-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-fish-speech' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "fish-speech" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-voxcpm' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "voxcpm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-pocket-tts' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "pocket-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-faster-whisper' + runs-on: 'bigger-runner' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "faster-whisper" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-coqui' + runs-on: 'bigger-runner' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "coqui" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # sycl builds + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-rerankers' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "rerankers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f32' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f32-llama-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f32' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f32-turboquant' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f16' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f16-llama-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f16' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f16-turboquant' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-vllm' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "vllm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sglang' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "sglang" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-transformers' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "transformers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-diffusers' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "diffusers" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-ace-step' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "ace-step" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-vibevoice' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "vibevoice" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-qwen-asr' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "qwen-asr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-qwen-tts' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "qwen-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-fish-speech' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "fish-speech" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-faster-qwen3-tts' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "faster-qwen3-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-pocket-tts' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "pocket-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-kokoro' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "kokoro" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-mlx' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "mlx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-mlx-vlm' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "mlx-vlm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-mlx-audio' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "mlx-audio" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-mlx-distributed' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "mlx-distributed" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-whisperx' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "whisperx" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-faster-whisper' + runs-on: 'ubuntu-24.04-arm' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + skip-drivers: 'true' + backend: "faster-whisper" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + # SYCL additional backends + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-kokoro' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "kokoro" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-faster-whisper' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "faster-whisper" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-vibevoice' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "vibevoice" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-qwen-asr' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "qwen-asr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-nemo' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "nemo" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-qwen-tts' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "qwen-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-fish-speech' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "fish-speech" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-voxcpm' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "voxcpm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-pocket-tts' + runs-on: 'arc-runner-set' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "pocket-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-coqui' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "coqui" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # piper + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-piper' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "piper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-llama-cpp' + runs-on: 'bigger-runner' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-turboquant' + runs-on: 'bigger-runner' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-ik-llama-cpp' + runs-on: 'bigger-runner' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "ik-llama-cpp" + dockerfile: "./backend/Dockerfile.ik-llama-cpp" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-llama-cpp' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + ubuntu-version: '2204' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-turboquant' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + ubuntu-version: '2204' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-llama-cpp' + runs-on: 'bigger-runner' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "llama-cpp" + dockerfile: "./backend/Dockerfile.llama-cpp" + context: "./" + ubuntu-version: '2404' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-turboquant' + runs-on: 'bigger-runner' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "turboquant" + dockerfile: "./backend/Dockerfile.turboquant" + context: "./" + ubuntu-version: '2404' + # Stablediffusion-ggml + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-stablediffusion-ggml' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "stablediffusion-ggml" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # sam3-cpp + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-sam3-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sam3-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f32' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f32-sam3-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "sam3-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f16' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f16-sam3-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "sam3-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-sam3-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sam3-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f32' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f32-stablediffusion-ggml' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "stablediffusion-ggml" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f16' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f16-stablediffusion-ggml' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "stablediffusion-ggml" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-stablediffusion-ggml' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "stablediffusion-ggml" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-stablediffusion-ggml' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "stablediffusion-ggml" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2204' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-sam3-cpp' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "sam3-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2204' + # whisper + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-whisper' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f32' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f32-whisper' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f16' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f16-whisper' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-whisper' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-whisper' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2204' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-whisper' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + runs-on: 'ubuntu-latest' + skip-drivers: 'false' + backend: "whisper" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # acestep-cpp + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-acestep-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f32' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f32-acestep-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f16' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f16-acestep-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-acestep-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-acestep-cpp' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2204' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-acestep-cpp' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + runs-on: 'ubuntu-latest' + skip-drivers: 'false' + backend: "acestep-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # qwen3-tts-cpp + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-qwen3-tts-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f32' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f32-qwen3-tts-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f16' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f16-qwen3-tts-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-qwen3-tts-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-qwen3-tts-cpp' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2204' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-qwen3-tts-cpp' + base-image: "rocm/dev-ubuntu-24.04:6.4.4" + runs-on: 'ubuntu-latest' + skip-drivers: 'false' + backend: "qwen3-tts-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # vibevoice-cpp + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-vibevoice-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-localvqe' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "localvqe" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f32' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f32-vibevoice-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'sycl_f16' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-sycl-f16-vibevoice-cpp' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-vibevoice-cpp' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'vulkan' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-gpu-vulkan-localvqe' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "localvqe" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'false' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-vibevoice-cpp' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2204' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-vibevoice-cpp' + base-image: "rocm/dev-ubuntu-24.04:6.4.4" + runs-on: 'ubuntu-latest' + skip-drivers: 'false' + backend: "vibevoice-cpp" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # voxtral + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-voxtral' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "voxtral" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + #opus + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-opus' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "opus" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + #silero-vad + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-silero-vad' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "silero-vad" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # kokoros (Rust TTS) + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-kokoros' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "kokoros" + dockerfile: "./backend/Dockerfile.rust" + context: "./" + ubuntu-version: '2404' + # local-store + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-local-store' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "local-store" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # rfdetr + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-rfdetr' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "rfdetr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # insightface (face recognition) + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-insightface' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "insightface" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # speaker-recognition (voice/speaker biometrics) + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-speaker-recognition' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "speaker-recognition" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'intel' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-intel-rfdetr' + runs-on: 'ubuntu-latest' + base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + skip-drivers: 'false' + backend: "rfdetr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'true' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-rfdetr' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "rfdetr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + - build-type: 'l4t' + cuda-major-version: "12" + cuda-minor-version: "0" + platforms: 'linux/arm64' + skip-drivers: 'true' + tag-latest: 'auto' + tag-suffix: '-nvidia-l4t-arm64-chatterbox' + base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" + runs-on: 'ubuntu-24.04-arm' + backend: "chatterbox" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2204' + # runs out of space on the runner + # - build-type: 'hipblas' + # cuda-major-version: "" + # cuda-minor-version: "" + # platforms: 'linux/amd64' + # tag-latest: 'auto' + # tag-suffix: '-gpu-hipblas-rfdetr' + # base-image: "rocm/dev-ubuntu-24.04:7.2.1" + # runs-on: 'ubuntu-latest' + # skip-drivers: 'false' + # backend: "rfdetr" + # dockerfile: "./backend/Dockerfile.python" + # context: "./" + # kitten-tts + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-kitten-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "kitten-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # neutts + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-neutts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "neutts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: 'hipblas' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-rocm-hipblas-neutts' + runs-on: 'arc-runner-set' + base-image: "rocm/dev-ubuntu-24.04:7.2.1" + skip-drivers: 'false' + backend: "neutts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-vibevoice' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "vibevoice" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-qwen-asr' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen-asr" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-nemo' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "nemo" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-qwen-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "qwen-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-fish-speech' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "fish-speech" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-voxcpm' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "voxcpm" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-pocket-tts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "pocket-tts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-cpu-outetts' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'true' + backend: "outetts" + dockerfile: "./backend/Dockerfile.python" + context: "./" + ubuntu-version: '2404' + # sherpa-onnx CPU + - build-type: '' + cuda-major-version: "" + cuda-minor-version: "" + platforms: 'linux/amd64,linux/arm64' + tag-latest: 'auto' + tag-suffix: '-cpu-sherpa-onnx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sherpa-onnx" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # sherpa-onnx CUDA 12 + - build-type: 'cublas' + cuda-major-version: "12" + cuda-minor-version: "8" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-12-sherpa-onnx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sherpa-onnx" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + # sherpa-onnx CUDA 13 — requires onnxruntime 1.24.x+ for the + # gpu_cuda13 tarball; sherpa-onnx SHERPA_COMMIT pins to v1.12.39. + - build-type: 'cublas' + cuda-major-version: "13" + cuda-minor-version: "0" + platforms: 'linux/amd64' + tag-latest: 'auto' + tag-suffix: '-gpu-nvidia-cuda-13-sherpa-onnx' + runs-on: 'ubuntu-latest' + base-image: "ubuntu:24.04" + skip-drivers: 'false' + backend: "sherpa-onnx" + dockerfile: "./backend/Dockerfile.golang" + context: "./" + ubuntu-version: '2404' + +# Darwin matrix (consumed by backend-jobs-darwin). +includeDarwin: + - backend: "diffusers" + tag-suffix: "-metal-darwin-arm64-diffusers" + build-type: "mps" + - backend: "ace-step" + tag-suffix: "-metal-darwin-arm64-ace-step" + build-type: "mps" + - backend: "mlx" + tag-suffix: "-metal-darwin-arm64-mlx" + build-type: "mps" + - backend: "chatterbox" + tag-suffix: "-metal-darwin-arm64-chatterbox" + build-type: "mps" + - backend: "mlx-vlm" + tag-suffix: "-metal-darwin-arm64-mlx-vlm" + build-type: "mps" + - backend: "mlx-audio" + tag-suffix: "-metal-darwin-arm64-mlx-audio" + build-type: "mps" + - backend: "mlx-distributed" + tag-suffix: "-metal-darwin-arm64-mlx-distributed" + build-type: "mps" + - backend: "stablediffusion-ggml" + tag-suffix: "-metal-darwin-arm64-stablediffusion-ggml" + build-type: "metal" + lang: "go" + - backend: "whisper" + tag-suffix: "-metal-darwin-arm64-whisper" + build-type: "metal" + lang: "go" + - backend: "acestep-cpp" + tag-suffix: "-metal-darwin-arm64-acestep-cpp" + build-type: "metal" + lang: "go" + - backend: "qwen3-tts-cpp" + tag-suffix: "-metal-darwin-arm64-qwen3-tts-cpp" + build-type: "metal" + lang: "go" + - backend: "vibevoice-cpp" + tag-suffix: "-metal-darwin-arm64-vibevoice-cpp" + build-type: "metal" + lang: "go" + - backend: "voxtral" + tag-suffix: "-metal-darwin-arm64-voxtral" + build-type: "metal" + lang: "go" + - backend: "vibevoice" + tag-suffix: "-metal-darwin-arm64-vibevoice" + build-type: "mps" + - backend: "qwen-asr" + tag-suffix: "-metal-darwin-arm64-qwen-asr" + build-type: "mps" + - backend: "nemo" + tag-suffix: "-metal-darwin-arm64-nemo" + build-type: "mps" + - backend: "qwen-tts" + tag-suffix: "-metal-darwin-arm64-qwen-tts" + build-type: "mps" + - backend: "fish-speech" + tag-suffix: "-metal-darwin-arm64-fish-speech" + build-type: "mps" + - backend: "voxcpm" + tag-suffix: "-metal-darwin-arm64-voxcpm" + build-type: "mps" + - backend: "pocket-tts" + tag-suffix: "-metal-darwin-arm64-pocket-tts" + build-type: "mps" + - backend: "moonshine" + tag-suffix: "-metal-darwin-arm64-moonshine" + build-type: "mps" + - backend: "whisperx" + tag-suffix: "-metal-darwin-arm64-whisperx" + build-type: "mps" + - backend: "rerankers" + tag-suffix: "-metal-darwin-arm64-rerankers" + build-type: "mps" + - backend: "transformers" + tag-suffix: "-metal-darwin-arm64-transformers" + build-type: "mps" + - backend: "kokoro" + tag-suffix: "-metal-darwin-arm64-kokoro" + build-type: "mps" + - backend: "faster-whisper" + tag-suffix: "-metal-darwin-arm64-faster-whisper" + build-type: "mps" + - backend: "coqui" + tag-suffix: "-metal-darwin-arm64-coqui" + build-type: "mps" + - backend: "rfdetr" + tag-suffix: "-metal-darwin-arm64-rfdetr" + build-type: "mps" + - backend: "kitten-tts" + tag-suffix: "-metal-darwin-arm64-kitten-tts" + build-type: "mps" + - backend: "piper" + tag-suffix: "-metal-darwin-arm64-piper" + build-type: "metal" + lang: "go" + - backend: "opus" + tag-suffix: "-metal-darwin-arm64-opus" + build-type: "metal" + lang: "go" + - backend: "silero-vad" + tag-suffix: "-metal-darwin-arm64-silero-vad" + build-type: "metal" + lang: "go" + - backend: "local-store" + tag-suffix: "-metal-darwin-arm64-local-store" + build-type: "metal" + lang: "go" + - backend: "llama-cpp-quantization" + tag-suffix: "-metal-darwin-arm64-llama-cpp-quantization" + build-type: "mps" diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index cffd1b76e..f0bc98537 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -7,14 +7,61 @@ on: - master tags: - '*' + schedule: + # Weekly full-matrix rebuild to pick up upstream Python wheel updates + # (torch, transformers, vllm, ...) which most backends pull unpinned. + # The DEPS_REFRESH build-arg in backend_build.yml busts the install + # layer cache on a new ISO week, but only fires when the build runs. + # Path filtering on commit-driven pushes (scripts/changed-backends.js) + # skips untouched backends, so without this cron those images would + # drift on stale wheels indefinitely. C++/Go backends with pinned + # deps cache-hit and finish fast. + # + # Schedule events have no event.ref / event.before, so the script's + # changedFiles==null fallback emits the full matrix automatically — + # no script changes needed. + - cron: '0 6 * * 0' # Sundays 06:00 UTC + workflow_dispatch: concurrency: group: ci-backends-${{ github.head_ref || github.ref }}-${{ github.repository }} cancel-in-progress: true jobs: - backend-jobs: + generate-matrix: if: github.repository == 'mudler/LocalAI' + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + matrix-darwin: ${{ steps.set-matrix.outputs.matrix-darwin }} + has-backends: ${{ steps.set-matrix.outputs.has-backends }} + has-backends-darwin: ${{ steps.set-matrix.outputs.has-backends-darwin }} + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Setup Bun + uses: oven-sh/setup-bun@v2 + + - name: Install dependencies + run: | + bun add js-yaml + bun add @octokit/core + + # Filter the backend matrix from .github/backend-matrix.yml against the + # files changed by this push. Tag pushes set FORCE_ALL=true so the script + # falls through to the full matrix (releases must rebuild everything). + - name: Filter matrix for changed backends + id: set-matrix + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_EVENT_PATH: ${{ github.event_path }} + FORCE_ALL: ${{ startsWith(github.ref, 'refs/tags/') && 'true' || 'false' }} + run: bun run scripts/changed-backends.js + + backend-jobs: + needs: generate-matrix + if: needs.generate-matrix.outputs.has-backends == 'true' uses: ./.github/workflows/backend_build.yml with: tag-latest: ${{ matrix.tag-latest }} @@ -38,3227 +85,13 @@ jobs: quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} strategy: fail-fast: false - #max-parallel: ${{ github.event_name != 'pull_request' && 6 || 4 }} - matrix: - include: - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-diffusers' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "diffusers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-vllm' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "vllm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-sglang' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "sglang" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-diffusers' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "diffusers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-chatterbox' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "chatterbox" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-moonshine' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "moonshine" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # tinygrad ships a single image — its CPU device uses bundled - # libLLVM, and its CUDA / HIP / Metal devices dlopen the host - # driver libraries at runtime via tinygrad's ctypes autogen - # wrappers. There is no toolkit-version split because tinygrad - # generates kernels itself (PTX renderer for CUDA) and never - # links against cuDNN/cuBLAS/torch. - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-tinygrad' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "tinygrad" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-whisperx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "whisperx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-faster-whisper' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "faster-whisper" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-ace-step' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "ace-step" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-trl' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "trl" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-llama-cpp-quantization' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "llama-cpp-quantization" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-mlx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "mlx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-mlx-vlm' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "mlx-vlm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-mlx-audio' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "mlx-audio" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-mlx-distributed' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "mlx-distributed" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # CUDA 12 builds - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-vibevoice' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vibevoice" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-qwen-asr' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen-asr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-nemo' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "nemo" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-qwen-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-fish-speech' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "fish-speech" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-faster-qwen3-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "faster-qwen3-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-voxcpm' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "voxcpm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-pocket-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "pocket-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-rerankers' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "rerankers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-llama-cpp' - runs-on: 'bigger-runner' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-turboquant' - runs-on: 'bigger-runner' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-vllm' - runs-on: 'arc-runner-set' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vllm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-vllm-omni' - runs-on: 'arc-runner-set' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vllm-omni" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-sglang' - runs-on: 'arc-runner-set' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sglang" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-transformers' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "transformers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-diffusers' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "diffusers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-ace-step' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "ace-step" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-trl' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "trl" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-kokoro' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "kokoro" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-faster-whisper' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "faster-whisper" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-whisperx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "whisperx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "9" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-coqui' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "coqui" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-outetts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "outetts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-chatterbox' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "chatterbox" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-moonshine' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "moonshine" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-mlx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "mlx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-mlx-vlm' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "mlx-vlm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-mlx-audio' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "mlx-audio" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-mlx-distributed' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "mlx-distributed" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-stablediffusion-ggml' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "stablediffusion-ggml" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-sam3-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sam3-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-whisper' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-acestep-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-qwen3-tts-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-vibevoice-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-rfdetr' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "rfdetr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-insightface' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "insightface" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-speaker-recognition' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "speaker-recognition" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-neutts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "neutts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # cuda 13 - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-rerankers' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "rerankers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-vibevoice' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vibevoice" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-qwen-asr' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen-asr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-nemo' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "nemo" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-qwen-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-fish-speech' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "fish-speech" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-faster-qwen3-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "faster-qwen3-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-voxcpm' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "voxcpm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-pocket-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "pocket-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-llama-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-turboquant' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-llama-cpp' - base-image: "ubuntu:24.04" - runs-on: 'ubuntu-24.04-arm' - ubuntu-version: '2404' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-turboquant' - base-image: "ubuntu:24.04" - runs-on: 'ubuntu-24.04-arm' - ubuntu-version: '2404' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-vllm' - runs-on: 'arc-runner-set' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vllm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-vllm-omni' - runs-on: 'arc-runner-set' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vllm-omni" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-sglang' - runs-on: 'arc-runner-set' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sglang" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-transformers' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "transformers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-diffusers' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "diffusers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-ace-step' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "ace-step" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-trl' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "trl" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-vibevoice' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "vibevoice" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-qwen-asr' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "qwen-asr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-qwen-tts' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "qwen-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-fish-speech' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "fish-speech" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-faster-qwen3-tts' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "faster-qwen3-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-pocket-tts' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "pocket-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-chatterbox' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "chatterbox" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-diffusers' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "diffusers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-vllm' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "vllm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-vllm-omni' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "vllm-omni" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-sglang' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "sglang" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-mlx' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "mlx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-mlx-vlm' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "mlx-vlm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-mlx-audio' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "mlx-audio" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-mlx-distributed' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "mlx-distributed" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-whisperx' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "whisperx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'l4t' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-faster-whisper' - runs-on: 'ubuntu-24.04-arm' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - ubuntu-version: '2404' - backend: "faster-whisper" - dockerfile: "./backend/Dockerfile.python" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-kokoro' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "kokoro" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-faster-whisper' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "faster-whisper" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-whisperx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "whisperx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-chatterbox' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "chatterbox" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-moonshine' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "moonshine" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-mlx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "mlx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-mlx-vlm' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "mlx-vlm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-mlx-audio' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "mlx-audio" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-mlx-distributed' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "mlx-distributed" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-stablediffusion-ggml' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "stablediffusion-ggml" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-stablediffusion-ggml' - base-image: "ubuntu:24.04" - ubuntu-version: '2404' - runs-on: 'ubuntu-24.04-arm' - backend: "stablediffusion-ggml" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-sam3-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sam3-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-sam3-cpp' - base-image: "ubuntu:24.04" - ubuntu-version: '2404' - runs-on: 'ubuntu-24.04-arm' - backend: "sam3-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-whisper' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-whisper' - base-image: "ubuntu:24.04" - ubuntu-version: '2404' - runs-on: 'ubuntu-24.04-arm' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-acestep-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-qwen3-tts-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-vibevoice-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-acestep-cpp' - base-image: "ubuntu:24.04" - ubuntu-version: '2404' - runs-on: 'ubuntu-24.04-arm' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-qwen3-tts-cpp' - base-image: "ubuntu:24.04" - ubuntu-version: '2404' - runs-on: 'ubuntu-24.04-arm' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-cuda-13-arm64-vibevoice-cpp' - base-image: "ubuntu:24.04" - ubuntu-version: '2404' - runs-on: 'ubuntu-24.04-arm' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-rfdetr' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "rfdetr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # hipblas builds - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-rerankers' - runs-on: 'ubuntu-latest' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "rerankers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-llama-cpp' - runs-on: 'ubuntu-latest' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-turboquant' - runs-on: 'ubuntu-latest' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-vllm' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "vllm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-vllm-omni' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "vllm-omni" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-sglang' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "sglang" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-transformers' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "transformers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-diffusers' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "diffusers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-ace-step' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "ace-step" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # ROCm additional backends - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-kokoro' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "kokoro" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-vibevoice' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "vibevoice" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-qwen-asr' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "qwen-asr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-nemo' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "nemo" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-qwen-tts' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "qwen-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-fish-speech' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "fish-speech" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-voxcpm' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "voxcpm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-pocket-tts' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "pocket-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-faster-whisper' - runs-on: 'bigger-runner' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "faster-whisper" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-coqui' - runs-on: 'bigger-runner' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "coqui" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # sycl builds - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-rerankers' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "rerankers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f32' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f32-llama-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f32' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f32-turboquant' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f16' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f16-llama-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f16' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f16-turboquant' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-vllm' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "vllm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sglang' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "sglang" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-transformers' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "transformers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-diffusers' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "diffusers" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-ace-step' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "ace-step" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-vibevoice' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "vibevoice" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-qwen-asr' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "qwen-asr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-qwen-tts' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "qwen-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-fish-speech' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "fish-speech" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-faster-qwen3-tts' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "faster-qwen3-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-pocket-tts' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "pocket-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-kokoro' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "kokoro" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-mlx' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "mlx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-mlx-vlm' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "mlx-vlm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-mlx-audio' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "mlx-audio" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-mlx-distributed' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "mlx-distributed" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-whisperx' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "whisperx" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-faster-whisper' - runs-on: 'ubuntu-24.04-arm' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - skip-drivers: 'true' - backend: "faster-whisper" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - # SYCL additional backends - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-kokoro' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "kokoro" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-faster-whisper' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "faster-whisper" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-vibevoice' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "vibevoice" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-qwen-asr' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "qwen-asr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-nemo' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "nemo" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-qwen-tts' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "qwen-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-fish-speech' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "fish-speech" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-voxcpm' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "voxcpm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-pocket-tts' - runs-on: 'arc-runner-set' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "pocket-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-coqui' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "coqui" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # piper - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-piper' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "piper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-llama-cpp' - runs-on: 'bigger-runner' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-turboquant' - runs-on: 'bigger-runner' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-ik-llama-cpp' - runs-on: 'bigger-runner' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "ik-llama-cpp" - dockerfile: "./backend/Dockerfile.ik-llama-cpp" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-llama-cpp' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - ubuntu-version: '2204' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-turboquant' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - ubuntu-version: '2204' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-llama-cpp' - runs-on: 'bigger-runner' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "llama-cpp" - dockerfile: "./backend/Dockerfile.llama-cpp" - context: "./" - ubuntu-version: '2404' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-turboquant' - runs-on: 'bigger-runner' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "turboquant" - dockerfile: "./backend/Dockerfile.turboquant" - context: "./" - ubuntu-version: '2404' - # Stablediffusion-ggml - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-stablediffusion-ggml' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "stablediffusion-ggml" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # sam3-cpp - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-sam3-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sam3-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f32' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f32-sam3-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "sam3-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f16' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f16-sam3-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "sam3-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-sam3-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sam3-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f32' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f32-stablediffusion-ggml' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "stablediffusion-ggml" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f16' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f16-stablediffusion-ggml' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "stablediffusion-ggml" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-stablediffusion-ggml' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "stablediffusion-ggml" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-stablediffusion-ggml' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "stablediffusion-ggml" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2204' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-sam3-cpp' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "sam3-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2204' - # whisper - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-whisper' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f32' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f32-whisper' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f16' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f16-whisper' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-whisper' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-whisper' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2204' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-whisper' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - runs-on: 'ubuntu-latest' - skip-drivers: 'false' - backend: "whisper" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # acestep-cpp - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-acestep-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f32' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f32-acestep-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f16' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f16-acestep-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-acestep-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-acestep-cpp' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2204' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-acestep-cpp' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - runs-on: 'ubuntu-latest' - skip-drivers: 'false' - backend: "acestep-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # qwen3-tts-cpp - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-qwen3-tts-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f32' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f32-qwen3-tts-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f16' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f16-qwen3-tts-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-qwen3-tts-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-qwen3-tts-cpp' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2204' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-qwen3-tts-cpp' - base-image: "rocm/dev-ubuntu-24.04:6.4.4" - runs-on: 'ubuntu-latest' - skip-drivers: 'false' - backend: "qwen3-tts-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # vibevoice-cpp - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-vibevoice-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-localvqe' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "localvqe" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f32' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f32-vibevoice-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'sycl_f16' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-sycl-f16-vibevoice-cpp' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-vibevoice-cpp' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'vulkan' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-gpu-vulkan-localvqe' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "localvqe" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'false' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-vibevoice-cpp' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2204' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-vibevoice-cpp' - base-image: "rocm/dev-ubuntu-24.04:6.4.4" - runs-on: 'ubuntu-latest' - skip-drivers: 'false' - backend: "vibevoice-cpp" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # voxtral - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-voxtral' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "voxtral" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - #opus - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-opus' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "opus" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - #silero-vad - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-silero-vad' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "silero-vad" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # kokoros (Rust TTS) - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-kokoros' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "kokoros" - dockerfile: "./backend/Dockerfile.rust" - context: "./" - ubuntu-version: '2404' - # local-store - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-local-store' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "local-store" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # rfdetr - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-rfdetr' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "rfdetr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # insightface (face recognition) - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-insightface' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "insightface" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # speaker-recognition (voice/speaker biometrics) - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-speaker-recognition' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "speaker-recognition" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'intel' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-intel-rfdetr' - runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" - skip-drivers: 'false' - backend: "rfdetr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'true' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-rfdetr' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "rfdetr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - - build-type: 'l4t' - cuda-major-version: "12" - cuda-minor-version: "0" - platforms: 'linux/arm64' - skip-drivers: 'true' - tag-latest: 'auto' - tag-suffix: '-nvidia-l4t-arm64-chatterbox' - base-image: "nvcr.io/nvidia/l4t-jetpack:r36.4.0" - runs-on: 'ubuntu-24.04-arm' - backend: "chatterbox" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2204' - # runs out of space on the runner - # - build-type: 'hipblas' - # cuda-major-version: "" - # cuda-minor-version: "" - # platforms: 'linux/amd64' - # tag-latest: 'auto' - # tag-suffix: '-gpu-hipblas-rfdetr' - # base-image: "rocm/dev-ubuntu-24.04:7.2.1" - # runs-on: 'ubuntu-latest' - # skip-drivers: 'false' - # backend: "rfdetr" - # dockerfile: "./backend/Dockerfile.python" - # context: "./" - # kitten-tts - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-kitten-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "kitten-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # neutts - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-neutts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "neutts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: 'hipblas' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-rocm-hipblas-neutts' - runs-on: 'arc-runner-set' - base-image: "rocm/dev-ubuntu-24.04:7.2.1" - skip-drivers: 'false' - backend: "neutts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-vibevoice' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "vibevoice" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-qwen-asr' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen-asr" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-nemo' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "nemo" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-qwen-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "qwen-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-fish-speech' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "fish-speech" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-voxcpm' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "voxcpm" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-pocket-tts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "pocket-tts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-cpu-outetts' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'true' - backend: "outetts" - dockerfile: "./backend/Dockerfile.python" - context: "./" - ubuntu-version: '2404' - # sherpa-onnx CPU - - build-type: '' - cuda-major-version: "" - cuda-minor-version: "" - platforms: 'linux/amd64,linux/arm64' - tag-latest: 'auto' - tag-suffix: '-cpu-sherpa-onnx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sherpa-onnx" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # sherpa-onnx CUDA 12 - - build-type: 'cublas' - cuda-major-version: "12" - cuda-minor-version: "8" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-12-sherpa-onnx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sherpa-onnx" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' - # sherpa-onnx CUDA 13 — requires onnxruntime 1.24.x+ for the - # gpu_cuda13 tarball; sherpa-onnx SHERPA_COMMIT pins to v1.12.39. - - build-type: 'cublas' - cuda-major-version: "13" - cuda-minor-version: "0" - platforms: 'linux/amd64' - tag-latest: 'auto' - tag-suffix: '-gpu-nvidia-cuda-13-sherpa-onnx' - runs-on: 'ubuntu-latest' - base-image: "ubuntu:24.04" - skip-drivers: 'false' - backend: "sherpa-onnx" - dockerfile: "./backend/Dockerfile.golang" - context: "./" - ubuntu-version: '2404' + max-parallel: 8 + matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }} + backend-jobs-darwin: + needs: generate-matrix + if: needs.generate-matrix.outputs.has-backends-darwin == 'true' uses: ./.github/workflows/backend_build_darwin.yml - strategy: - matrix: - include: - - backend: "diffusers" - tag-suffix: "-metal-darwin-arm64-diffusers" - build-type: "mps" - - backend: "ace-step" - tag-suffix: "-metal-darwin-arm64-ace-step" - build-type: "mps" - - backend: "mlx" - tag-suffix: "-metal-darwin-arm64-mlx" - build-type: "mps" - - backend: "chatterbox" - tag-suffix: "-metal-darwin-arm64-chatterbox" - build-type: "mps" - - backend: "mlx-vlm" - tag-suffix: "-metal-darwin-arm64-mlx-vlm" - build-type: "mps" - - backend: "mlx-audio" - tag-suffix: "-metal-darwin-arm64-mlx-audio" - build-type: "mps" - - backend: "mlx-distributed" - tag-suffix: "-metal-darwin-arm64-mlx-distributed" - build-type: "mps" - - backend: "stablediffusion-ggml" - tag-suffix: "-metal-darwin-arm64-stablediffusion-ggml" - build-type: "metal" - lang: "go" - - backend: "whisper" - tag-suffix: "-metal-darwin-arm64-whisper" - build-type: "metal" - lang: "go" - - backend: "acestep-cpp" - tag-suffix: "-metal-darwin-arm64-acestep-cpp" - build-type: "metal" - lang: "go" - - backend: "qwen3-tts-cpp" - tag-suffix: "-metal-darwin-arm64-qwen3-tts-cpp" - build-type: "metal" - lang: "go" - - backend: "vibevoice-cpp" - tag-suffix: "-metal-darwin-arm64-vibevoice-cpp" - build-type: "metal" - lang: "go" - - backend: "voxtral" - tag-suffix: "-metal-darwin-arm64-voxtral" - build-type: "metal" - lang: "go" - - backend: "vibevoice" - tag-suffix: "-metal-darwin-arm64-vibevoice" - build-type: "mps" - - backend: "qwen-asr" - tag-suffix: "-metal-darwin-arm64-qwen-asr" - build-type: "mps" - - backend: "nemo" - tag-suffix: "-metal-darwin-arm64-nemo" - build-type: "mps" - - backend: "qwen-tts" - tag-suffix: "-metal-darwin-arm64-qwen-tts" - build-type: "mps" - - backend: "fish-speech" - tag-suffix: "-metal-darwin-arm64-fish-speech" - build-type: "mps" - - backend: "voxcpm" - tag-suffix: "-metal-darwin-arm64-voxcpm" - build-type: "mps" - - backend: "pocket-tts" - tag-suffix: "-metal-darwin-arm64-pocket-tts" - build-type: "mps" - - backend: "moonshine" - tag-suffix: "-metal-darwin-arm64-moonshine" - build-type: "mps" - - backend: "whisperx" - tag-suffix: "-metal-darwin-arm64-whisperx" - build-type: "mps" - - backend: "rerankers" - tag-suffix: "-metal-darwin-arm64-rerankers" - build-type: "mps" - - backend: "transformers" - tag-suffix: "-metal-darwin-arm64-transformers" - build-type: "mps" - - backend: "kokoro" - tag-suffix: "-metal-darwin-arm64-kokoro" - build-type: "mps" - - backend: "faster-whisper" - tag-suffix: "-metal-darwin-arm64-faster-whisper" - build-type: "mps" - - backend: "coqui" - tag-suffix: "-metal-darwin-arm64-coqui" - build-type: "mps" - - backend: "rfdetr" - tag-suffix: "-metal-darwin-arm64-rfdetr" - build-type: "mps" - - backend: "kitten-tts" - tag-suffix: "-metal-darwin-arm64-kitten-tts" - build-type: "mps" - - backend: "piper" - tag-suffix: "-metal-darwin-arm64-piper" - build-type: "metal" - lang: "go" - - backend: "opus" - tag-suffix: "-metal-darwin-arm64-opus" - build-type: "metal" - lang: "go" - - backend: "silero-vad" - tag-suffix: "-metal-darwin-arm64-silero-vad" - build-type: "metal" - lang: "go" - - backend: "local-store" - tag-suffix: "-metal-darwin-arm64-local-store" - build-type: "metal" - lang: "go" - - backend: "llama-cpp-quantization" - tag-suffix: "-metal-darwin-arm64-llama-cpp-quantization" - build-type: "mps" with: backend: ${{ matrix.backend }} build-type: ${{ matrix.build-type }} @@ -3272,6 +105,10 @@ jobs: dockerPassword: ${{ secrets.DOCKERHUB_PASSWORD }} quayUsername: ${{ secrets.LOCALAI_REGISTRY_USERNAME }} quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} + strategy: + fail-fast: false + matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix-darwin) }} + llama-cpp-darwin: runs-on: macos-latest strategy: diff --git a/.github/workflows/backend_build.yml b/.github/workflows/backend_build.yml index a7f6a8a5e..7d61235c0 100644 --- a/.github/workflows/backend_build.yml +++ b/.github/workflows/backend_build.yml @@ -24,6 +24,17 @@ on: description: 'Platforms' default: '' type: string + platform-tag: + description: | + Short tag identifying the platform leg, e.g. "amd64" or "arm64". + Used to scope the per-arch registry cache and the digest artifact name. + Required for split-and-merge multi-arch builds; pass "amd64" for + single-arch amd64 builds too. Optional (default '') during the + migration to per-arch matrix expansion; will be flipped to + required: true in Phase 6 once all callers pass an explicit value. + required: false + default: '' + type: string tag-latest: description: 'Tag latest' default: '' @@ -89,63 +100,13 @@ jobs: id: apt_mirror uses: ./.github/actions/configure-apt-mirror - - name: Free Disk Space (Ubuntu) - if: inputs.runs-on == 'ubuntu-latest' - uses: jlumbroso/free-disk-space@main + - name: Free disk space + uses: ./.github/actions/free-disk-space with: - # this might remove tools that are actually needed, - # if set to "true" but frees about 6 GB - tool-cache: true - # all of these default to true, but feel free to set to - # "false" if necessary for your workflow - android: true - dotnet: true - haskell: true - large-packages: true - docker-images: true - swap-storage: true + mode: ${{ inputs.runs-on == 'ubuntu-latest' && 'hosted' || 'skip' }} - - name: Release space from worker - if: inputs.runs-on == 'ubuntu-latest' - run: | - echo "Listing top largest packages" - pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) - head -n 30 <<< "${pkgs}" - echo - df -h - echo - sudo apt-get remove -y '^llvm-.*|^libllvm.*' || true - sudo apt-get remove --auto-remove android-sdk-platform-tools snapd || true - sudo apt-get purge --auto-remove android-sdk-platform-tools snapd || true - sudo rm -rf /usr/local/lib/android - sudo apt-get remove -y '^dotnet-.*|^aspnetcore-.*' || true - sudo rm -rf /usr/share/dotnet - sudo apt-get remove -y '^mono-.*' || true - sudo apt-get remove -y '^ghc-.*' || true - sudo apt-get remove -y '.*jdk.*|.*jre.*' || true - sudo apt-get remove -y 'php.*' || true - sudo apt-get remove -y hhvm powershell firefox monodoc-manual msbuild || true - sudo apt-get remove -y '^google-.*' || true - sudo apt-get remove -y azure-cli || true - sudo apt-get remove -y '^mongo.*-.*|^postgresql-.*|^mysql-.*|^mssql-.*' || true - sudo apt-get remove -y '^gfortran-.*' || true - sudo apt-get remove -y microsoft-edge-stable || true - sudo apt-get remove -y firefox || true - sudo apt-get remove -y powershell || true - sudo apt-get remove -y r-base-core || true - sudo apt-get autoremove -y - sudo apt-get clean - echo - echo "Listing top largest packages" - pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) - head -n 30 <<< "${pkgs}" - echo - sudo rm -rfv build || true - sudo rm -rf /usr/share/dotnet || true - sudo rm -rf /opt/ghc || true - sudo rm -rf "/usr/local/share/boost" || true - sudo rm -rf "$AGENT_TOOLSDIRECTORY" || true - df -h + - name: Set up build disk + uses: ./.github/actions/setup-build-disk - name: Docker meta id: meta @@ -211,7 +172,8 @@ jobs: id: deps_refresh run: echo "key=$(date -u +%Y-W%V)" >> "$GITHUB_OUTPUT" - - name: Build and push + - name: Build and push by digest + id: build uses: docker/build-push-action@v7 if: github.event_name != 'pull_request' with: @@ -230,14 +192,31 @@ jobs: DEPS_REFRESH=${{ steps.deps_refresh.outputs.key }} context: ${{ inputs.context }} file: ${{ inputs.dockerfile }} - cache-from: type=registry,ref=quay.io/go-skynet/ci-cache:cache${{ inputs.tag-suffix }} - cache-to: type=registry,ref=quay.io/go-skynet/ci-cache:cache${{ inputs.tag-suffix }},mode=max,ignore-error=true + cache-from: type=registry,ref=quay.io/go-skynet/ci-cache:cache${{ inputs.tag-suffix }}-${{ inputs.platform-tag }} + cache-to: type=registry,ref=quay.io/go-skynet/ci-cache:cache${{ inputs.tag-suffix }}-${{ inputs.platform-tag }},mode=max,ignore-error=true platforms: ${{ inputs.platforms }} - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} + outputs: | + type=image,name=quay.io/go-skynet/local-ai-backends,push-by-digest=true,name-canonical=true,push=true + type=image,name=localai/localai-backends,push-by-digest=true,name-canonical=true,push=true labels: ${{ steps.meta.outputs.labels }} - - name: Build and push (PR) + - name: Export digest + if: github.event_name != 'pull_request' + run: | + mkdir -p /tmp/digests + digest="${{ steps.build.outputs.digest }}" + touch "/tmp/digests/${digest#sha256:}" + + - name: Upload digest artifact + if: github.event_name != 'pull_request' + uses: actions/upload-artifact@v4 + with: + name: digests${{ inputs.tag-suffix }}-${{ inputs.platform-tag }} + path: /tmp/digests/* + if-no-files-found: error + retention-days: 1 + + - name: Build (PR) uses: docker/build-push-action@v7 if: github.event_name == 'pull_request' with: @@ -256,7 +235,7 @@ jobs: DEPS_REFRESH=${{ steps.deps_refresh.outputs.key }} context: ${{ inputs.context }} file: ${{ inputs.dockerfile }} - cache-from: type=registry,ref=quay.io/go-skynet/ci-cache:cache${{ inputs.tag-suffix }} + cache-from: type=registry,ref=quay.io/go-skynet/ci-cache:cache${{ inputs.tag-suffix }}-${{ inputs.platform-tag }} platforms: ${{ inputs.platforms }} push: ${{ env.quay_username != '' }} tags: ${{ steps.meta_pull_request.outputs.tags }} diff --git a/.github/workflows/backend_merge.yml b/.github/workflows/backend_merge.yml new file mode 100644 index 000000000..9243dae28 --- /dev/null +++ b/.github/workflows/backend_merge.yml @@ -0,0 +1,133 @@ +--- +name: 'merge backend manifest list (reusable)' + +# Reusable workflow that joins per-arch digest artifacts (uploaded by +# backend_build.yml when called with platform-tag) into a single tagged +# multi-arch manifest list. Called once per backend by backend.yml after +# both per-arch build jobs succeed. + +on: + workflow_call: + inputs: + tag-latest: + description: 'Whether the manifest list should also be tagged latest (auto/false/true)' + required: false + type: string + default: '' + tag-suffix: + description: 'Backend tag suffix (e.g. -cpu-faster-whisper). Used to compute the artifact pattern and the final tag suffix.' + required: true + type: string + secrets: + dockerUsername: + required: false + dockerPassword: + required: false + quayUsername: + required: true + quayPassword: + required: true + +jobs: + merge: + runs-on: ubuntu-latest + env: + quay_username: ${{ secrets.quayUsername }} + steps: + - name: Download digests + uses: actions/download-artifact@v4 + with: + pattern: digests${{ inputs.tag-suffix }}-* + merge-multiple: true + path: /tmp/digests + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@master + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v4 + with: + username: ${{ secrets.dockerUsername }} + password: ${{ secrets.dockerPassword }} + + - name: Login to Quay.io + if: ${{ env.quay_username != '' }} + uses: docker/login-action@v4 + with: + registry: quay.io + username: ${{ secrets.quayUsername }} + password: ${{ secrets.quayPassword }} + + - name: Docker meta + id: meta + if: github.event_name != 'pull_request' + uses: docker/metadata-action@v6 + with: + images: | + quay.io/go-skynet/local-ai-backends + localai/localai-backends + tags: | + type=ref,event=branch + type=semver,pattern={{raw}} + type=sha + flavor: | + latest=${{ inputs.tag-latest }} + suffix=${{ inputs.tag-suffix }},onlatest=true + + - name: Create manifest list and push (quay) + if: github.event_name != 'pull_request' + working-directory: /tmp/digests + run: | + set -euo pipefail + tags=$(jq -cr ' + .tags + | map(select(startswith("quay.io/"))) + | map("-t " + .) + | join(" ") + ' <<< "$DOCKER_METADATA_OUTPUT_JSON") + if [ -z "$tags" ]; then + echo "No quay.io tags from docker/metadata-action; skipping quay merge" + else + # shellcheck disable=SC2086 + docker buildx imagetools create $tags \ + $(printf 'quay.io/go-skynet/local-ai-backends@sha256:%s ' *) + fi + + - name: Create manifest list and push (dockerhub) + if: github.event_name != 'pull_request' + working-directory: /tmp/digests + run: | + set -euo pipefail + tags=$(jq -cr ' + .tags + | map(select(startswith("localai/"))) + | map("-t " + .) + | join(" ") + ' <<< "$DOCKER_METADATA_OUTPUT_JSON") + if [ -z "$tags" ]; then + echo "No dockerhub tags from docker/metadata-action; skipping dockerhub merge" + else + # shellcheck disable=SC2086 + docker buildx imagetools create $tags \ + $(printf 'localai/localai-backends@sha256:%s ' *) + fi + + - name: Inspect manifest + if: github.event_name != 'pull_request' + run: | + set -euo pipefail + first_tag=$(jq -cr '.tags[0]' <<< "$DOCKER_METADATA_OUTPUT_JSON") + if [ -n "$first_tag" ] && [ "$first_tag" != "null" ]; then + docker buildx imagetools inspect "$first_tag" + fi + + - name: Job summary + if: github.event_name != 'pull_request' + run: | + set -euo pipefail + echo "Merged manifest tags:" >> "$GITHUB_STEP_SUMMARY" + jq -r '.tags[]' <<< "$DOCKER_METADATA_OUTPUT_JSON" | sed 's/^/- /' >> "$GITHUB_STEP_SUMMARY" + echo >> "$GITHUB_STEP_SUMMARY" + echo "Per-arch digests:" >> "$GITHUB_STEP_SUMMARY" + ls -1 /tmp/digests | sed 's/^/- sha256:/' >> "$GITHUB_STEP_SUMMARY" diff --git a/.github/workflows/backend_pr.yml b/.github/workflows/backend_pr.yml index 5a557b38b..6af08467a 100644 --- a/.github/workflows/backend_pr.yml +++ b/.github/workflows/backend_pr.yml @@ -59,6 +59,7 @@ jobs: quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} strategy: fail-fast: true + max-parallel: 8 matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }} backend-jobs-darwin: needs: generate-matrix diff --git a/.github/workflows/image_build.yml b/.github/workflows/image_build.yml index 658d9b5e7..511f51cff 100644 --- a/.github/workflows/image_build.yml +++ b/.github/workflows/image_build.yml @@ -77,63 +77,13 @@ jobs: id: apt_mirror uses: ./.github/actions/configure-apt-mirror - - name: Free Disk Space (Ubuntu) - if: inputs.runs-on == 'ubuntu-latest' - uses: jlumbroso/free-disk-space@main + - name: Free disk space + uses: ./.github/actions/free-disk-space with: - # this might remove tools that are actually needed, - # if set to "true" but frees about 6 GB - tool-cache: true - # all of these default to true, but feel free to set to - # "false" if necessary for your workflow - android: true - dotnet: true - haskell: true - large-packages: true - docker-images: true - swap-storage: true + mode: ${{ inputs.runs-on == 'ubuntu-latest' && 'hosted' || 'skip' }} - - name: Release space from worker - if: inputs.runs-on == 'ubuntu-latest' - run: | - echo "Listing top largest packages" - pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) - head -n 30 <<< "${pkgs}" - echo - df -h - echo - sudo apt-get remove -y '^llvm-.*|^libllvm.*' || true - sudo apt-get remove --auto-remove android-sdk-platform-tools snapd || true - sudo apt-get purge --auto-remove android-sdk-platform-tools snapd || true - sudo rm -rf /usr/local/lib/android - sudo apt-get remove -y '^dotnet-.*|^aspnetcore-.*' || true - sudo rm -rf /usr/share/dotnet - sudo apt-get remove -y '^mono-.*' || true - sudo apt-get remove -y '^ghc-.*' || true - sudo apt-get remove -y '.*jdk.*|.*jre.*' || true - sudo apt-get remove -y 'php.*' || true - sudo apt-get remove -y hhvm powershell firefox monodoc-manual msbuild || true - sudo apt-get remove -y '^google-.*' || true - sudo apt-get remove -y azure-cli || true - sudo apt-get remove -y '^mongo.*-.*|^postgresql-.*|^mysql-.*|^mssql-.*' || true - sudo apt-get remove -y '^gfortran-.*' || true - sudo apt-get remove -y microsoft-edge-stable || true - sudo apt-get remove -y firefox || true - sudo apt-get remove -y powershell || true - sudo apt-get remove -y r-base-core || true - sudo apt-get autoremove -y - sudo apt-get clean - echo - echo "Listing top largest packages" - pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) - head -n 30 <<< "${pkgs}" - echo - sudo rm -rfv build || true - sudo rm -rf /usr/share/dotnet || true - sudo rm -rf /opt/ghc || true - sudo rm -rf "/usr/local/share/boost" || true - sudo rm -rf "$AGENT_TOOLSDIRECTORY" || true - df -h + - name: Set up build disk + uses: ./.github/actions/setup-build-disk - name: Docker meta id: meta diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f1c183acd..159007250 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,56 +26,12 @@ jobs: matrix: go-version: ['1.26.x'] steps: - - name: Free Disk Space (Ubuntu) - uses: jlumbroso/free-disk-space@main - with: - # this might remove tools that are actually needed, - # if set to "true" but frees about 6 GB - tool-cache: true - # all of these default to true, but feel free to set to - # "false" if necessary for your workflow - android: true - dotnet: true - haskell: true - large-packages: true - docker-images: true - swap-storage: true - - name: Release space from worker - run: | - echo "Listing top largest packages" - pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) - head -n 30 <<< "${pkgs}" - echo - df -h - echo - sudo apt-get remove -y '^llvm-.*|^libllvm.*' || true - sudo apt-get remove --auto-remove android-sdk-platform-tools || true - sudo apt-get purge --auto-remove android-sdk-platform-tools || true - sudo rm -rf /usr/local/lib/android - sudo apt-get remove -y '^dotnet-.*|^aspnetcore-.*' || true - sudo rm -rf /usr/share/dotnet - sudo apt-get remove -y '^mono-.*' || true - sudo apt-get remove -y '^ghc-.*' || true - sudo apt-get remove -y '.*jdk.*|.*jre.*' || true - sudo apt-get remove -y 'php.*' || true - sudo apt-get remove -y hhvm powershell firefox monodoc-manual msbuild || true - sudo apt-get remove -y '^google-.*' || true - sudo apt-get remove -y azure-cli || true - sudo apt-get remove -y '^mongo.*-.*|^postgresql-.*|^mysql-.*|^mssql-.*' || true - sudo apt-get remove -y '^gfortran-.*' || true - sudo apt-get autoremove -y - sudo apt-get clean - echo - echo "Listing top largest packages" - pkgs=$(dpkg-query -Wf '${Installed-Size}\t${Package}\t${Status}\n' | awk '$NF == "installed"{print $1 "\t" $2}' | sort -nr) - head -n 30 <<< "${pkgs}" - echo - sudo rm -rfv build || true - df -h - name: Clone uses: actions/checkout@v6 with: submodules: true + - name: Free disk space + uses: ./.github/actions/free-disk-space - name: Setup Go ${{ matrix.go-version }} uses: actions/setup-go@v5 with: diff --git a/scripts/changed-backends.js b/scripts/changed-backends.js index 7ad770af9..7a8f627b3 100644 --- a/scripts/changed-backends.js +++ b/scripts/changed-backends.js @@ -2,13 +2,13 @@ import fs from "fs"; import yaml from "js-yaml"; import { Octokit } from "@octokit/core"; -// Load backend.yml and parse matrix.include -const backendYml = yaml.load(fs.readFileSync(".github/workflows/backend.yml", "utf8")); -const jobs = backendYml.jobs; -const backendJobs = jobs["backend-jobs"]; -const backendJobsDarwin = jobs["backend-jobs-darwin"]; -const includes = backendJobs.strategy.matrix.include; -const includesDarwin = backendJobsDarwin.strategy.matrix.include; +// Matrix data lives in a small data-only YAML so both backend.yml (master push) +// and backend_pr.yml (pull_request) can use a dynamic `matrix: ${{ fromJson(...) }}` +// for the live job, while this script remains the single source of truth for +// "what backends does the project know about". +const matrixYml = yaml.load(fs.readFileSync(".github/backend-matrix.yml", "utf8")); +const includes = matrixYml.include; +const includesDarwin = matrixYml.includeDarwin; const eventPath = process.env.GITHUB_EVENT_PATH; const event = JSON.parse(fs.readFileSync(eventPath, "utf8")); @@ -66,28 +66,14 @@ function getAllBackendPaths() { const allBackendPaths = getAllBackendPaths(); -// Non-PR events: output run-all=true and all backends as true -if (!event.pull_request) { - fs.appendFileSync(process.env.GITHUB_OUTPUT, `run-all=true\n`); - fs.appendFileSync(process.env.GITHUB_OUTPUT, `has-backends=true\n`); - fs.appendFileSync(process.env.GITHUB_OUTPUT, `has-backends-darwin=true\n`); - fs.appendFileSync(process.env.GITHUB_OUTPUT, `matrix=${JSON.stringify({ include: includes })}\n`); - fs.appendFileSync(process.env.GITHUB_OUTPUT, `matrix-darwin=${JSON.stringify({ include: includesDarwin })}\n`); - for (const backend of allBackendPaths.keys()) { - fs.appendFileSync(process.env.GITHUB_OUTPUT, `${backend}=true\n`); - } - process.exit(0); -} - -// PR context -const prNumber = event.pull_request.number; -const repo = event.repository.name; -const owner = event.repository.owner.login; - const token = process.env.GITHUB_TOKEN; const octokit = new Octokit({ auth: token }); -async function getChangedFiles() { +// PR file list — paginated. +async function getChangedFilesForPR(event) { + const prNumber = event.pull_request.number; + const repo = event.repository.name; + const owner = event.repository.owner.login; let files = []; let page = 1; while (true) { @@ -105,9 +91,49 @@ async function getChangedFiles() { return files; } -(async () => { - const changedFiles = await getChangedFiles(); +// Branch-push file list — uses the Compare API so it works in shallow clones. +// Returns null to signal "we cannot compute a reliable diff; run everything". +async function getChangedFilesForPush(event) { + const before = event.before; + const after = event.after; + // First push to a branch carries an all-zero `before` SHA and there's no + // base to diff against. Run everything in that case. + if (!before || !after || /^0+$/.test(before)) return null; + const owner = event.repository.owner.login; + const repo = event.repository.name; + let res; + try { + res = await octokit.request('GET /repos/{owner}/{repo}/compare/{basehead}', { + owner, + repo, + basehead: `${before}...${after}`, + }); + } catch (err) { + console.log("compare API failed, falling back to run-all:", err.message); + return null; + } + if (!res.data || !Array.isArray(res.data.files)) return null; + // The compare endpoint caps the file list at 300. If we hit the cap we may + // be missing changes — be conservative and run everything. + if (res.data.files.length >= 300) { + console.log("compare API returned 300+ files (truncated), falling back to run-all"); + return null; + } + return res.data.files.map(f => f.filename); +} +function emitFullMatrix() { + fs.appendFileSync(process.env.GITHUB_OUTPUT, `run-all=true\n`); + fs.appendFileSync(process.env.GITHUB_OUTPUT, `has-backends=true\n`); + fs.appendFileSync(process.env.GITHUB_OUTPUT, `has-backends-darwin=true\n`); + fs.appendFileSync(process.env.GITHUB_OUTPUT, `matrix=${JSON.stringify({ include: includes })}\n`); + fs.appendFileSync(process.env.GITHUB_OUTPUT, `matrix-darwin=${JSON.stringify({ include: includesDarwin })}\n`); + for (const backend of allBackendPaths.keys()) { + fs.appendFileSync(process.env.GITHUB_OUTPUT, `${backend}=true\n`); + } +} + +function emitFilteredMatrix(changedFiles) { console.log("Changed files:", changedFiles); const filtered = includes.filter(item => { @@ -119,7 +145,7 @@ async function getChangedFiles() { const filteredDarwin = includesDarwin.filter(item => { const backendPath = inferBackendPathDarwin(item); return changedFiles.some(file => file.startsWith(backendPath)); - }) + }); console.log("Filtered files:", filtered); console.log("Filtered files Darwin:", filteredDarwin); @@ -145,4 +171,29 @@ async function getChangedFiles() { } fs.appendFileSync(process.env.GITHUB_OUTPUT, `${backend}=${changed ? 'true' : 'false'}\n`); } +} + +(async () => { + // Tag pushes and an explicit FORCE_ALL escape hatch always rebuild everything. + // FORCE_ALL is set from backend.yml whenever github.ref starts with refs/tags/. + const forceAll = process.env.FORCE_ALL === 'true'; + const isTagPush = typeof event.ref === 'string' && event.ref.startsWith('refs/tags/'); + const isBranchPush = !!event.ref && !event.pull_request && !isTagPush; + + let changedFiles = null; + if (event.pull_request) { + changedFiles = await getChangedFilesForPR(event); + } else if (isBranchPush && !forceAll) { + changedFiles = await getChangedFilesForPush(event); + // null -> fall through to the full matrix (e.g. first push, API truncated, + // network failure). + } + // All other event types (workflow_dispatch, schedule, tag pushes, FORCE_ALL) + // leave changedFiles === null and run everything. + + if (changedFiles === null) { + emitFullMatrix(); + return; + } + emitFilteredMatrix(changedFiles); })();