--- /dev/null
+name: Check vendor
+
+on:
+ workflow_dispatch: # allows manual triggering
+ push:
+ branches:
+ - master
+ paths: [
+ 'vendor/**',
+ 'scripts/sync_vendor.py'
+ ]
+
+ pull_request:
+ types: [opened, synchronize, reopened]
+ paths: [
+ 'vendor/**',
+ 'scripts/sync_vendor.py'
+ ]
+
+jobs:
+ check-vendor:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Setup Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: '3.x'
+
+ - name: Run vendor sync
+ run: |
+ set -euo pipefail
+ python3 scripts/sync_vendor.py
+
+ - name: Check for changes
+ run: |
+ set -euo pipefail
+ # detect modified or untracked files
+ changed=$(git status --porcelain --untracked-files=all || true)
+ if [ -n "$changed" ]; then
+ echo "Vendor sync modified files:"
+ echo "$changed" | awk '{ print $2 }' | sed '/^$/d'
+ echo "Failing because vendor files mismatch. Please update scripts/sync_vendor.py"
+ exit 1
+ else
+ echo "Vendor files are up-to-date."
+ fi
"https://raw.githubusercontent.com/nothings/stb/refs/heads/master/stb_image.h": "vendor/stb/stb_image.h",
- "https://github.com/mackron/miniaudio/raw/refs/tags/0.11.22/miniaudio.h": "vendor/miniaudio/miniaudio.h",
+ # not using latest tag to avoid this issue: https://github.com/ggml-org/llama.cpp/pull/17179#discussion_r2515877926
+ # "https://github.com/mackron/miniaudio/raw/refs/tags/0.11.23/miniaudio.h": "vendor/miniaudio/miniaudio.h",
+ "https://github.com/mackron/miniaudio/raw/669ed3e844524fcd883231b13095baee9f6de304/miniaudio.h": "vendor/miniaudio/miniaudio.h",
"https://raw.githubusercontent.com/yhirose/cpp-httplib/refs/tags/v0.27.0/httplib.h": "vendor/cpp-httplib/httplib.h",
}