mirror of
https://github.com/mudler/LocalAI.git
synced 2026-06-30 19:37:00 -04:00
master auto-bumped the stock llama-cpp pin 9d5d882d -> 0ed235ea and updated the shared grpc-server.cpp. The paged backend's pin must track the stock pin (the grpc-server.cpp is shared), so bump its LLAMA_VERSION to match. All 28 paged patches apply clean on 0ed235ea (verified against a fresh upstream clone). The bf16-tau state-serialization fix (patch 0026) is included. Bit-exact gate + full grpc-server build verify on GPU/CI to follow. Assisted-by: Claude:opus-4.8 [Claude Code] Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
218 lines
9.3 KiB
YAML
218 lines
9.3 KiB
YAML
name: Bump Backend dependencies
|
|
on:
|
|
schedule:
|
|
- cron: 0 20 * * *
|
|
workflow_dispatch:
|
|
jobs:
|
|
bump-backends:
|
|
if: github.repository == 'mudler/LocalAI'
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
# NOTE: there is intentionally NO entry for the llama-cpp-localai-paged
|
|
# backend. It carries a vendored paged-attention patch series
|
|
# (backend/cpp/llama-cpp-localai-paged/patches/paged/) hand-verified bit-exact against
|
|
# ONE specific llama.cpp tip; a naive nightly bump would move the tip out
|
|
# from under the patches and break `git apply` at build time. Its pin is
|
|
# therefore decoupled (its own LLAMA_VERSION in
|
|
# backend/cpp/llama-cpp-localai-paged/Makefile) and advanced ONLY by the
|
|
# manual PIN_SYNC process. Do not add it here. (turboquant CAN be
|
|
# auto-bumped below because its fork branch carries the patches.)
|
|
#
|
|
# Excluding it from the auto-bumper removed the early warning of upstream
|
|
# drift; that signal is restored separately by the dedicated canary
|
|
# .github/workflows/llama-cpp-paged-canary.yml, which weekly applies +
|
|
# compiles the paged series against the latest llama.cpp tip and goes red
|
|
# when upstream breaks it (prompting a PIN_SYNC). The canary is
|
|
# signal-only - it never opens a bump PR and never moves the pin - so
|
|
# this dep-bump workflow and its PRs stay green regardless.
|
|
include:
|
|
- repository: "ggml-org/llama.cpp"
|
|
variable: "LLAMA_VERSION"
|
|
branch: "master"
|
|
file: "backend/cpp/llama-cpp/Makefile"
|
|
- repository: "ikawrakow/ik_llama.cpp"
|
|
variable: "IK_LLAMA_VERSION"
|
|
branch: "main"
|
|
file: "backend/cpp/ik-llama-cpp/Makefile"
|
|
- repository: "TheTom/llama-cpp-turboquant"
|
|
variable: "TURBOQUANT_VERSION"
|
|
branch: "feature/turboquant-kv-cache"
|
|
file: "backend/cpp/turboquant/Makefile"
|
|
- repository: "antirez/ds4"
|
|
variable: "DS4_VERSION"
|
|
branch: "main"
|
|
file: "backend/cpp/ds4/Makefile"
|
|
- repository: "localai-org/privacy-filter.cpp"
|
|
variable: "PRIVACY_FILTER_VERSION"
|
|
branch: "master"
|
|
file: "backend/cpp/privacy-filter/Makefile"
|
|
- repository: "ggml-org/whisper.cpp"
|
|
variable: "WHISPER_CPP_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/whisper/Makefile"
|
|
- repository: "CrispStrobe/CrispASR"
|
|
variable: "CRISPASR_VERSION"
|
|
branch: "main"
|
|
file: "backend/go/crispasr/Makefile"
|
|
- repository: "mudler/parakeet.cpp"
|
|
variable: "PARAKEET_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/parakeet-cpp/Makefile"
|
|
- repository: "mudler/ced.cpp"
|
|
variable: "CED_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/ced/Makefile"
|
|
- repository: "mudler/voice-detect.cpp"
|
|
variable: "VOICEDETECT_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/voice-detect/Makefile"
|
|
- repository: "mudler/face-detect.cpp"
|
|
variable: "FACEDETECT_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/face-detect/Makefile"
|
|
- repository: "mudler/depth-anything.cpp"
|
|
variable: "DEPTHANYTHING_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/depth-anything-cpp/Makefile"
|
|
- repository: "leejet/stable-diffusion.cpp"
|
|
variable: "STABLEDIFFUSION_GGML_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/stablediffusion-ggml/Makefile"
|
|
- repository: "mudler/go-piper"
|
|
variable: "PIPER_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/piper/Makefile"
|
|
- repository: "antirez/voxtral.c"
|
|
variable: "VOXTRAL_VERSION"
|
|
branch: "main"
|
|
file: "backend/go/voxtral/Makefile"
|
|
- repository: "ace-step/acestep.cpp"
|
|
variable: "ACESTEP_CPP_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/acestep-cpp/Makefile"
|
|
- repository: "PABannier/sam3.cpp"
|
|
variable: "SAM3_VERSION"
|
|
branch: "main"
|
|
file: "backend/go/sam3-cpp/Makefile"
|
|
- repository: "mudler/rf-detr.cpp"
|
|
variable: "RFDETR_VERSION"
|
|
branch: "main"
|
|
file: "backend/go/rfdetr-cpp/Makefile"
|
|
- repository: "mudler/locate-anything.cpp"
|
|
variable: "LOCATEANYTHING_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/locate-anything-cpp/Makefile"
|
|
- repository: "ServeurpersoCom/qwentts.cpp"
|
|
variable: "QWEN3TTS_CPP_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/qwen3-tts-cpp/Makefile"
|
|
- repository: "ServeurpersoCom/omnivoice.cpp"
|
|
variable: "OMNIVOICE_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/omnivoice-cpp/Makefile"
|
|
- repository: "localai-org/vibevoice.cpp"
|
|
variable: "VIBEVOICE_CPP_VERSION"
|
|
branch: "master"
|
|
file: "backend/go/vibevoice-cpp/Makefile"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Bump dependencies 🔧
|
|
id: bump
|
|
run: |
|
|
bash .github/bump_deps.sh ${{ matrix.repository }} ${{ matrix.branch }} ${{ matrix.variable }} ${{ matrix.file }}
|
|
{
|
|
echo 'message<<EOF'
|
|
cat "${{ matrix.variable }}_message.txt"
|
|
echo EOF
|
|
} >> "$GITHUB_OUTPUT"
|
|
{
|
|
echo 'commit<<EOF'
|
|
cat "${{ matrix.variable }}_commit.txt"
|
|
echo EOF
|
|
} >> "$GITHUB_OUTPUT"
|
|
rm -rfv ${{ matrix.variable }}_message.txt
|
|
rm -rfv ${{ matrix.variable }}_commit.txt
|
|
- name: Create Pull Request
|
|
uses: peter-evans/create-pull-request@v8
|
|
with:
|
|
token: ${{ secrets.UPDATE_BOT_TOKEN }}
|
|
push-to-fork: ci-forks/LocalAI
|
|
commit-message: ':arrow_up: Update ${{ matrix.repository }}'
|
|
title: 'chore: :arrow_up: Update ${{ matrix.repository }} to `${{ steps.bump.outputs.commit }}`'
|
|
branch: "update/${{ matrix.variable }}"
|
|
body: ${{ steps.bump.outputs.message }}
|
|
signoff: true
|
|
|
|
bump-vllm-wheel:
|
|
# vLLM's cu130 wheel comes from a per-tag index URL (no /latest/ alias),
|
|
# so the cublas13 requirements file pins both a URL segment and a version
|
|
# constraint. bump_deps.sh handles git-sha-in-Makefile only — this job
|
|
# rewrites both values atomically when a new vLLM stable tag ships.
|
|
if: github.repository == 'mudler/LocalAI'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Bump vLLM cu130 wheel pin 🔧
|
|
id: bump
|
|
run: |
|
|
bash .github/bump_vllm_wheel.sh vllm-project/vllm backend/python/vllm/requirements-cublas13-after.txt VLLM_VERSION
|
|
{
|
|
echo 'message<<EOF'
|
|
cat "VLLM_VERSION_message.txt"
|
|
echo EOF
|
|
} >> "$GITHUB_OUTPUT"
|
|
{
|
|
echo 'commit<<EOF'
|
|
cat "VLLM_VERSION_commit.txt"
|
|
echo EOF
|
|
} >> "$GITHUB_OUTPUT"
|
|
rm -rfv VLLM_VERSION_message.txt VLLM_VERSION_commit.txt
|
|
- name: Create Pull Request
|
|
uses: peter-evans/create-pull-request@v8
|
|
with:
|
|
token: ${{ secrets.UPDATE_BOT_TOKEN }}
|
|
push-to-fork: ci-forks/LocalAI
|
|
commit-message: ':arrow_up: Update vllm-project/vllm cu130 wheel'
|
|
title: 'chore: :arrow_up: Update vllm-project/vllm cu130 wheel to `${{ steps.bump.outputs.commit }}`'
|
|
branch: "update/VLLM_VERSION"
|
|
body: ${{ steps.bump.outputs.message }}
|
|
signoff: true
|
|
|
|
bump-vllm-metal:
|
|
# The darwin (Apple Silicon) vLLM build installs vllm-metal, which is locked
|
|
# to a specific vLLM source release. install.sh pins both VLLM_METAL_VERSION
|
|
# (the wheel release) and VLLM_VERSION (the vLLM it builds against); this job
|
|
# tracks vllm-project/vllm-metal and rewrites both atomically. Separate from
|
|
# bump-vllm-wheel because darwin follows vllm-metal, not vllm/vllm latest.
|
|
if: github.repository == 'mudler/LocalAI'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
- name: Bump vllm-metal pin 🔧
|
|
id: bump
|
|
run: |
|
|
bash .github/bump_vllm_metal.sh vllm-project/vllm-metal backend/python/vllm/install.sh VLLM_METAL_VERSION
|
|
{
|
|
echo 'message<<EOF'
|
|
cat "VLLM_METAL_VERSION_message.txt"
|
|
echo EOF
|
|
} >> "$GITHUB_OUTPUT"
|
|
{
|
|
echo 'commit<<EOF'
|
|
cat "VLLM_METAL_VERSION_commit.txt"
|
|
echo EOF
|
|
} >> "$GITHUB_OUTPUT"
|
|
rm -rfv VLLM_METAL_VERSION_message.txt VLLM_METAL_VERSION_commit.txt
|
|
- name: Create Pull Request
|
|
uses: peter-evans/create-pull-request@v8
|
|
with:
|
|
token: ${{ secrets.UPDATE_BOT_TOKEN }}
|
|
push-to-fork: ci-forks/LocalAI
|
|
commit-message: ':arrow_up: Update vllm-project/vllm-metal (darwin)'
|
|
title: 'chore: :arrow_up: Update vllm-metal (darwin) to `${{ steps.bump.outputs.commit }}`'
|
|
branch: "update/VLLM_METAL_VERSION"
|
|
body: ${{ steps.bump.outputs.message }}
|
|
signoff: true
|