Files
LocalAI/.github/workflows/backend.yml
Ettore Di Giacinto 002f75ac79 ci(tests): drop me. Test vulkan build
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2025-09-28 18:24:56 +02:00

640 lines
25 KiB
YAML

---
name: 'build backend container images'
on:
pull_request:
push:
branches:
- master
tags:
- '*'
concurrency:
group: ci-backends-${{ github.head_ref || github.ref }}-${{ github.repository }}
cancel-in-progress: true
jobs:
backend-jobs:
uses: ./.github/workflows/backend_build.yml
with:
tag-latest: ${{ matrix.tag-latest }}
tag-suffix: ${{ matrix.tag-suffix }}
build-type: ${{ matrix.build-type }}
cuda-major-version: ${{ matrix.cuda-major-version }}
cuda-minor-version: ${{ matrix.cuda-minor-version }}
platforms: ${{ matrix.platforms }}
runs-on: ${{ matrix.runs-on }}
base-image: ${{ matrix.base-image }}
backend: ${{ matrix.backend }}
dockerfile: ${{ matrix.dockerfile }}
skip-drivers: ${{ matrix.skip-drivers }}
context: ${{ matrix.context }}
secrets:
dockerUsername: ${{ secrets.DOCKERHUB_USERNAME }}
dockerPassword: ${{ secrets.DOCKERHUB_PASSWORD }}
quayUsername: ${{ secrets.LOCALAI_REGISTRY_USERNAME }}
quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }}
strategy:
fail-fast: false
#max-parallel: ${{ github.event_name != 'pull_request' && 6 || 4 }}
matrix:
include:
# # CUDA 11 builds
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-rerankers'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "rerankers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-llama-cpp'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "llama-cpp"
# dockerfile: "./backend/Dockerfile.llama-cpp"
# context: "./"
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-transformers'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "transformers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-diffusers'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "diffusers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'l4t'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/arm64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-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: "./backend"
# - 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:22.04"
# skip-drivers: 'true'
# backend: "diffusers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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:22.04"
# skip-drivers: 'true'
# backend: "chatterbox"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# # CUDA 11 additional backends
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-kokoro'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "kokoro"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-faster-whisper'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "faster-whisper"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-coqui'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "coqui"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-bark'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "bark"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "11"
# cuda-minor-version: "7"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-11-chatterbox'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "chatterbox"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# # CUDA 12 builds
# - 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:22.04"
# skip-drivers: 'false'
# backend: "rerankers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-llama-cpp'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "llama-cpp"
# dockerfile: "./backend/Dockerfile.llama-cpp"
# context: "./"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-vllm'
# runs-on: 'arc-runner-set'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "vllm"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-transformers'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "transformers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-diffusers'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "diffusers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# # CUDA 12 additional backends
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-kokoro'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "kokoro"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-faster-whisper'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "faster-whisper"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-coqui'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "coqui"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-bark'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "bark"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-nvidia-cuda-12-chatterbox'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "chatterbox"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# # 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-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "rerankers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "llama-cpp"
# dockerfile: "./backend/Dockerfile.llama-cpp"
# context: "./"
# - 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-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "vllm"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "transformers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "diffusers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# # 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-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "kokoro"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'hipblas'
# cuda-major-version: ""
# cuda-minor-version: ""
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-rocm-hipblas-faster-whisper'
# runs-on: 'ubuntu-latest'
# base-image: "rocm/dev-ubuntu-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "faster-whisper"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'hipblas'
# cuda-major-version: ""
# cuda-minor-version: ""
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-rocm-hipblas-coqui'
# runs-on: 'ubuntu-latest'
# base-image: "rocm/dev-ubuntu-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "coqui"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'hipblas'
# cuda-major-version: ""
# cuda-minor-version: ""
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-rocm-hipblas-bark'
# runs-on: 'arc-runner-set'
# base-image: "rocm/dev-ubuntu-22.04:6.4.3"
# skip-drivers: 'false'
# backend: "bark"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# # 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "rerankers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "llama-cpp"
# dockerfile: "./backend/Dockerfile.llama-cpp"
# context: "./"
# - 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "llama-cpp"
# dockerfile: "./backend/Dockerfile.llama-cpp"
# context: "./"
# - 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "vllm"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "transformers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "diffusers"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'l4t'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/arm64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-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: "./backend"
# # 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "kokoro"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "faster-whisper"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - 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: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "coqui"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# - build-type: 'intel'
# cuda-major-version: ""
# cuda-minor-version: ""
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-gpu-intel-bark'
# runs-on: 'ubuntu-latest'
# base-image: "quay.io/go-skynet/intel-oneapi-base:latest"
# skip-drivers: 'false'
# backend: "bark"
# dockerfile: "./backend/Dockerfile.python"
# context: "./backend"
# # 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:22.04"
# skip-drivers: 'false'
# backend: "piper"
# dockerfile: "./backend/Dockerfile.golang"
# context: "./"
# # bark-cpp
# - build-type: ''
# cuda-major-version: ""
# cuda-minor-version: ""
# platforms: 'linux/amd64'
# tag-latest: 'auto'
# tag-suffix: '-bark-cpp'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "bark-cpp"
# dockerfile: "./backend/Dockerfile.golang"
# context: "./"
# - build-type: ''
# cuda-major-version: ""
# cuda-minor-version: ""
# platforms: 'linux/amd64,linux/arm64'
# tag-latest: 'auto'
# tag-suffix: '-cpu-llama-cpp'
# runs-on: 'ubuntu-latest'
# base-image: "ubuntu:22.04"
# skip-drivers: 'false'
# backend: "llama-cpp"
# dockerfile: "./backend/Dockerfile.llama-cpp"
# context: "./"
# - build-type: 'cublas'
# cuda-major-version: "12"
# cuda-minor-version: "0"
# platforms: 'linux/arm64'
# skip-drivers: 'true'
# 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: "./"
- 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: 'ubuntu-latest'
base-image: "ubuntu:22.04"
skip-drivers: 'false'
backend: "llama-cpp"
dockerfile: "./backend/Dockerfile.llama-cpp"
context: "./"
- 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:22.04"
skip-drivers: 'false'
backend: "stablediffusion-ggml"
dockerfile: "./backend/Dockerfile.golang"
context: "./"
- 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:22.04"
skip-drivers: 'false'
backend: "whisper"
dockerfile: "./backend/Dockerfile.golang"
context: "./"