mirror of
https://github.com/mudler/LocalAI.git
synced 2026-11-04 11:33:22 -05:00
Two independent breakages on master make every open pull request red, for reasons unrelated to the changes under review. The e2e backend suite stopped compiling. Reply.message is `bytes` in backend.proto, so res.GetMessage() returns []byte, and strings.ToUpper wants a string. Every other call site in the file already converts. tests/e2e-backends sits behind a build tag, so `go build ./...` never compiled it and the breakage reached master unnoticed. The darwin vllm build stopped resolving. Upstream vllm-metal deleted its old dev tags and re-versioned to track the vLLM release it targets, so the pinned wheel 404s. The coupled vLLM release also moved out of upstream's install.sh into .github/vllm-release-tag.commit, and the wheel's platform tag moved from macosx_11_0 to macosx_15_0. Read the wheel name from the release's own asset listing rather than composing it from a hardcoded platform segment, so a platform-tag change cannot silently 404 again, and resolve the vLLM version from the new metadata file with a fallback to the legacy installer. The bump script and the extractor learn the same two-source lookup, so the next nightly run converges on the pin checked in here instead of reintroducing the break. Assisted-by: Claude:claude-opus-5 Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
54 lines
1.5 KiB
Bash
Executable File
54 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
repo_root=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)
|
|
extractor="$repo_root/scripts/lib/extract-vllm-metal-version.sh"
|
|
|
|
assert_version() {
|
|
local expected=$1
|
|
local input=$2
|
|
local actual
|
|
|
|
actual=$(printf '%s\n' "$input" | "$extractor")
|
|
if [ "$actual" != "$expected" ]; then
|
|
echo "expected version $expected, got $actual" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
assert_version "0.23.0" 'vllm_v="0.23.0"'
|
|
assert_version "0.26.0" ' local vllm_v="0.26.0"'
|
|
assert_version "0.26.0" 'VLLM_VERSION="0.26.0"'
|
|
assert_version "0.26.1" ' VLLM_VERSION = "0.26.1" # comment'
|
|
|
|
# .github/vllm-release-tag.commit form: a lone vLLM release tag.
|
|
assert_version "0.28.0" 'v0.28.0'
|
|
assert_version "0.28.0" '0.28.0'
|
|
assert_version "0.28.0" ' v0.28.0 '
|
|
|
|
# A whole upstream installer must still yield the inline pin, not a version-like
|
|
# fragment of some other line.
|
|
assert_version "0.26.0" 'set -e
|
|
vllm_wheel="vllm-1.2.3-cp312.whl"
|
|
VLLM_VERSION="0.26.0"'
|
|
|
|
if printf '%s\n' 'VLLM_VERSION="not-a-version"' | "$extractor"; then
|
|
echo "malformed versions must be rejected" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if printf '%s\n' 'VLLM_VERSION="0.26.0"garbage' | "$extractor"; then
|
|
echo "trailing assignment content must be rejected" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if printf '%s\n' 'not-a-tag' | "$extractor"; then
|
|
echo "malformed release tags must be rejected" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if printf '%s\n' 'vllm-1.2.3-cp312.whl' | "$extractor"; then
|
|
echo "a version embedded in a longer line must be rejected" >&2
|
|
exit 1
|
|
fi
|