diff --git a/.github/workflows/image.yml b/.github/workflows/image.yml index 53916b41..56dababe 100644 --- a/.github/workflows/image.yml +++ b/.github/workflows/image.yml @@ -36,7 +36,6 @@ jobs: quayUsername: ${{ secrets.LOCALAI_REGISTRY_USERNAME }} quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} strategy: - max-parallel: 2 matrix: include: - build-type: 'hipblas' @@ -76,7 +75,7 @@ jobs: quayUsername: ${{ secrets.LOCALAI_REGISTRY_USERNAME }} quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} strategy: - max-parallel: ${{ github.event_name != 'pull_request' && 2 || 4 }} + #max-parallel: ${{ github.event_name != 'pull_request' && 2 || 4 }} matrix: include: - build-type: '' diff --git a/.github/workflows/image_build.yml b/.github/workflows/image_build.yml index bd7f8edd..4388a9fe 100644 --- a/.github/workflows/image_build.yml +++ b/.github/workflows/image_build.yml @@ -81,6 +81,22 @@ jobs: reusable_image-build: runs-on: ${{ inputs.runs-on }} steps: + + - name: Free Disk Space (Ubuntu) + if: inputs.runs-on == 'ubuntu-latest' + 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: Force Install GIT latest run: | sudo apt-get update \ @@ -102,8 +118,8 @@ jobs: 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 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 diff --git a/.github/workflows/python_backend.yml b/.github/workflows/python_backend.yml index 82f09fa1..55a9635c 100644 --- a/.github/workflows/python_backend.yml +++ b/.github/workflows/python_backend.yml @@ -7,7 +7,7 @@ on: - master tags: - '*' - #pull_request: + pull_request: concurrency: group: ci-backends-${{ github.head_ref || github.ref }}-${{ github.repository }} @@ -34,7 +34,7 @@ jobs: quayPassword: ${{ secrets.LOCALAI_REGISTRY_PASSWORD }} strategy: fail-fast: false - max-parallel: ${{ github.event_name != 'pull_request' && 6 || 4 }} + #max-parallel: ${{ github.event_name != 'pull_request' && 6 || 4 }} matrix: include: # CUDA 11 builds @@ -44,7 +44,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-rerankers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "rerankers" latest-image: 'latest-gpu-nvidia-cuda-11-rerankers' @@ -54,7 +54,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-vllm' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "vllm" latest-image: 'latest-gpu-nvidia-cuda-11-vllm' @@ -64,7 +64,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-transformers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "transformers" latest-image: 'latest-gpu-nvidia-cuda-11-transformers' @@ -74,7 +74,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-diffusers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "diffusers" latest-image: 'latest-gpu-nvidia-cuda-11-diffusers' @@ -85,7 +85,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-kokoro' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "kokoro" latest-image: 'latest-gpu-nvidia-cuda-11-kokoro' @@ -95,7 +95,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-faster-whisper' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "faster-whisper" latest-image: 'latest-gpu-nvidia-cuda-11-faster-whisper' @@ -105,7 +105,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-coqui' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "coqui" latest-image: 'latest-gpu-nvidia-cuda-11-coqui' @@ -115,7 +115,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-bark' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "bark" latest-image: 'latest-gpu-nvidia-cuda-11-bark' @@ -125,7 +125,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-11-chatterbox' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "chatterbox" latest-image: 'latest-gpu-nvidia-cuda-11-chatterbox' @@ -136,7 +136,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-rerankers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "rerankers" latest-image: 'latest-gpu-nvidia-cuda-12-rerankers' @@ -146,7 +146,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-vllm' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "vllm" latest-image: 'latest-gpu-nvidia-cuda-12-vllm' @@ -156,7 +156,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-transformers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "transformers" latest-image: 'latest-gpu-nvidia-cuda-12-transformers' @@ -166,7 +166,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-diffusers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "diffusers" latest-image: 'latest-gpu-nvidia-cuda-12-diffusers' @@ -177,7 +177,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-kokoro' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "kokoro" latest-image: 'latest-gpu-nvidia-cuda-12-kokoro' @@ -187,7 +187,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-faster-whisper' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "faster-whisper" latest-image: 'latest-gpu-nvidia-cuda-12-faster-whisper' @@ -197,7 +197,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-coqui' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "coqui" latest-image: 'latest-gpu-nvidia-cuda-12-coqui' @@ -207,7 +207,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-bark' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "bark" latest-image: 'latest-gpu-nvidia-cuda-12-bark' @@ -217,7 +217,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-nvidia-cuda-12-chatterbox' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "ubuntu:22.04" backend: "chatterbox" latest-image: 'latest-gpu-nvidia-cuda-12-chatterbox' @@ -228,7 +228,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-rocm-hipblas-rerankers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "rocm/dev-ubuntu-22.04:6.1" backend: "rerankers" latest-image: 'latest-gpu-rocm-hipblas-rerankers' @@ -238,7 +238,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-rocm-hipblas-vllm' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "rocm/dev-ubuntu-22.04:6.1" backend: "vllm" latest-image: 'latest-gpu-rocm-hipblas-vllm' @@ -248,7 +248,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-rocm-hipblas-transformers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "rocm/dev-ubuntu-22.04:6.1" backend: "transformers" latest-image: 'latest-gpu-rocm-hipblas-transformers' @@ -258,7 +258,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-rocm-hipblas-diffusers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "rocm/dev-ubuntu-22.04:6.1" backend: "diffusers" latest-image: 'latest-gpu-rocm-hipblas-diffusers' @@ -269,7 +269,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-rocm-hipblas-kokoro' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "rocm/dev-ubuntu-22.04:6.1" backend: "kokoro" latest-image: 'latest-gpu-rocm-hipblas-kokoro' @@ -279,7 +279,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-rocm-hipblas-faster-whisper' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "rocm/dev-ubuntu-22.04:6.1" backend: "faster-whisper" latest-image: 'latest-gpu-rocm-hipblas-faster-whisper' @@ -289,7 +289,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-rocm-hipblas-coqui' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "rocm/dev-ubuntu-22.04:6.1" backend: "coqui" latest-image: 'latest-gpu-rocm-hipblas-coqui' @@ -299,7 +299,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-rocm-hipblas-bark' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "rocm/dev-ubuntu-22.04:6.1" backend: "bark" latest-image: 'latest-gpu-rocm-hipblas-bark' @@ -310,7 +310,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f32-rerankers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "rerankers" latest-image: 'latest-gpu-intel-sycl-f32-rerankers' @@ -320,7 +320,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f16-rerankers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "rerankers" latest-image: 'latest-gpu-intel-sycl-f16-rerankers' @@ -330,7 +330,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f32-vllm' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "vllm" latest-image: 'latest-gpu-intel-sycl-f32-vllm' @@ -340,7 +340,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f16-vllm' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "vllm" latest-image: 'latest-gpu-intel-sycl-f16-vllm' @@ -350,7 +350,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f32-transformers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "transformers" latest-image: 'latest-gpu-intel-sycl-f32-transformers' @@ -360,7 +360,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f16-transformers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "transformers" latest-image: 'latest-gpu-intel-sycl-f16-transformers' @@ -370,7 +370,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f32-diffusers' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "diffusers" latest-image: 'latest-gpu-intel-sycl-f32-diffusers' @@ -381,7 +381,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f32-kokoro' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "kokoro" latest-image: 'latest-gpu-intel-sycl-f32-kokoro' @@ -391,7 +391,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f16-kokoro' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "kokoro" latest-image: 'latest-gpu-intel-sycl-f16-kokoro' @@ -401,7 +401,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f32-faster-whisper' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "faster-whisper" latest-image: 'latest-gpu-intel-sycl-f32-faster-whisper' @@ -411,7 +411,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f16-faster-whisper' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "faster-whisper" latest-image: 'latest-gpu-intel-sycl-f16-faster-whisper' @@ -421,7 +421,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f32-coqui' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "coqui" latest-image: 'latest-gpu-intel-sycl-f32-coqui' @@ -431,7 +431,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f16-coqui' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "coqui" latest-image: 'latest-gpu-intel-sycl-f16-coqui' @@ -441,7 +441,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f32-bark' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "bark" latest-image: 'latest-gpu-intel-sycl-f32-bark' @@ -451,7 +451,7 @@ jobs: platforms: 'linux/amd64' tag-latest: 'true' tag-suffix: '-gpu-intel-sycl-f16-bark' - runs-on: 'arc-runner-set' + runs-on: 'ubuntu-latest' base-image: "quay.io/go-skynet/intel-oneapi-base:latest" backend: "bark" latest-image: 'latest-gpu-intel-sycl-f16-bark' diff --git a/.github/workflows/python_backend_build.yml b/.github/workflows/python_backend_build.yml index f2d7c762..6ef7ea8f 100644 --- a/.github/workflows/python_backend_build.yml +++ b/.github/workflows/python_backend_build.yml @@ -59,6 +59,24 @@ jobs: reusable_python_backend-build: runs-on: ${{ inputs.runs-on }} steps: + + + - name: Free Disk Space (Ubuntu) + if: inputs.runs-on == 'ubuntu-latest' + 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: Force Install GIT latest run: | sudo apt-get update \ @@ -80,9 +98,37 @@ jobs: 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: Docker meta