From 6f8f451c2ff2601d3bbd0b629cad078b115bc013 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Thu, 18 Dec 2025 10:29:15 -0800 Subject: [PATCH 1/7] Migrate to dependabot and use version tags --- .github/dependabot.yml | 15 +++++++++++++++ .github/renovate.json | 6 ------ .github/workflows/build-cpp-runtime-bindings.yml | 4 ++-- .github/workflows/pre-commit.yml | 4 ++-- .github/workflows/skywalking-eyes.yml | 2 +- 5 files changed, 20 insertions(+), 11 deletions(-) create mode 100644 .github/dependabot.yml delete mode 100644 .github/renovate.json diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..47064f2dc --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,15 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" + commit-message: + prefix: "chore(actions)" + labels: + - dependencies + - actions + groups: + github-actions: + patterns: + - "*" diff --git a/.github/renovate.json b/.github/renovate.json deleted file mode 100644 index 5db72dd6a..000000000 --- a/.github/renovate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "config:recommended" - ] -} diff --git a/.github/workflows/build-cpp-runtime-bindings.yml b/.github/workflows/build-cpp-runtime-bindings.yml index 81ba47ec0..645a9f465 100644 --- a/.github/workflows/build-cpp-runtime-bindings.yml +++ b/.github/workflows/build-cpp-runtime-bindings.yml @@ -61,7 +61,7 @@ jobs: /bin/bash -c "chmod +x docker/x86_64/build-cpp-runtime-bindings.sh && ./docker/x86_64/build-cpp-runtime-bindings.sh" - name: Upload cpp runtime bindings artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 with: name: svs-cpp-runtime-bindings${{ matrix.suffix }} path: svs-cpp-runtime-bindings${{ matrix.suffix }}.tar.gz @@ -98,7 +98,7 @@ jobs: # Need to download for a new job - name: Download shared libraries - uses: actions/download-artifact@v7 + uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 with: name: svs-cpp-runtime-bindings${{ matrix.suffix }} path: runtime_lib diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 5ee719ce8..5853a3376 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - - uses: actions/setup-python@v6 + - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 with: python-version: '3.12' - - uses: pre-commit/action@v3.0.1 + - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 diff --git a/.github/workflows/skywalking-eyes.yml b/.github/workflows/skywalking-eyes.yml index d91409d6f..619c83433 100644 --- a/.github/workflows/skywalking-eyes.yml +++ b/.github/workflows/skywalking-eyes.yml @@ -34,7 +34,7 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Checkout code - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Run check uses: apache/skywalking-eyes/header@61275cc80d0798a405cb070f7d3a8aaf7cf2c2c1 # v0.8.0 with: From de4a979ca1f400275ca2463ea5783f97181571a5 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Thu, 18 Dec 2025 11:15:09 -0800 Subject: [PATCH 2/7] Move CI scripts from docker/ to .github/scripts --- .../x86_64 => .github/scripts}/build-cpp-runtime-bindings.sh | 0 .../x86_64 => .github/scripts}/test-cpp-runtime-bindings.sh | 0 .github/workflows/build-cpp-runtime-bindings.yml | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename {docker/x86_64 => .github/scripts}/build-cpp-runtime-bindings.sh (100%) rename {docker/x86_64 => .github/scripts}/test-cpp-runtime-bindings.sh (100%) diff --git a/docker/x86_64/build-cpp-runtime-bindings.sh b/.github/scripts/build-cpp-runtime-bindings.sh similarity index 100% rename from docker/x86_64/build-cpp-runtime-bindings.sh rename to .github/scripts/build-cpp-runtime-bindings.sh diff --git a/docker/x86_64/test-cpp-runtime-bindings.sh b/.github/scripts/test-cpp-runtime-bindings.sh similarity index 100% rename from docker/x86_64/test-cpp-runtime-bindings.sh rename to .github/scripts/test-cpp-runtime-bindings.sh diff --git a/.github/workflows/build-cpp-runtime-bindings.yml b/.github/workflows/build-cpp-runtime-bindings.yml index 645a9f465..2ccc0363f 100644 --- a/.github/workflows/build-cpp-runtime-bindings.yml +++ b/.github/workflows/build-cpp-runtime-bindings.yml @@ -58,7 +58,7 @@ jobs: -e ENABLE_LVQ_LEANVEC=${{ matrix.enable_lvq_leanvec }} \ -e SUFFIX=${{ matrix.suffix }} \ svs-manylinux228:latest \ - /bin/bash -c "chmod +x docker/x86_64/build-cpp-runtime-bindings.sh && ./docker/x86_64/build-cpp-runtime-bindings.sh" + /bin/bash -c "chmod +x .github/scripts/build-cpp-runtime-bindings.sh && ./.github/scripts/build-cpp-runtime-bindings.sh" - name: Upload cpp runtime bindings artifacts uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 @@ -115,4 +115,4 @@ jobs: -w /workspace \ -e SUFFIX=${{ matrix.suffix }} \ svs-manylinux228:latest \ - /bin/bash -c "chmod +x docker/x86_64/test-cpp-runtime-bindings.sh && ./docker/x86_64/test-cpp-runtime-bindings.sh" + /bin/bash -c "chmod +x .github/scripts/test-cpp-runtime-bindings.sh && ./.github/scripts/test-cpp-runtime-bindings.sh" From 95fba0b6ec39b85e42386786080a637035157575 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Thu, 18 Dec 2025 11:19:57 -0800 Subject: [PATCH 3/7] Remove unnecessary chmods for .github scripts --- .github/workflows/build-cpp-runtime-bindings.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-cpp-runtime-bindings.yml b/.github/workflows/build-cpp-runtime-bindings.yml index 2ccc0363f..9613ac986 100644 --- a/.github/workflows/build-cpp-runtime-bindings.yml +++ b/.github/workflows/build-cpp-runtime-bindings.yml @@ -58,7 +58,7 @@ jobs: -e ENABLE_LVQ_LEANVEC=${{ matrix.enable_lvq_leanvec }} \ -e SUFFIX=${{ matrix.suffix }} \ svs-manylinux228:latest \ - /bin/bash -c "chmod +x .github/scripts/build-cpp-runtime-bindings.sh && ./.github/scripts/build-cpp-runtime-bindings.sh" + /bin/bash .github/scripts/build-cpp-runtime-bindings.sh - name: Upload cpp runtime bindings artifacts uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 @@ -115,4 +115,4 @@ jobs: -w /workspace \ -e SUFFIX=${{ matrix.suffix }} \ svs-manylinux228:latest \ - /bin/bash -c "chmod +x .github/scripts/test-cpp-runtime-bindings.sh && ./.github/scripts/test-cpp-runtime-bindings.sh" + /bin/bash .github/scripts/test-cpp-runtime-bindings.sh From 6d9cda422d777c2d19a9ce9acaf1b3ee3ac0ffd3 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Thu, 18 Dec 2025 15:25:58 -0800 Subject: [PATCH 4/7] Use latest release binaries in cpp bindings and example --- bindings/cpp/CMakeLists.txt | 4 ++-- examples/cpp/shared/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bindings/cpp/CMakeLists.txt b/bindings/cpp/CMakeLists.txt index 122e5c8f7..00b5e51e1 100644 --- a/bindings/cpp/CMakeLists.txt +++ b/bindings/cpp/CMakeLists.txt @@ -98,14 +98,14 @@ if (SVS_RUNTIME_ENABLE_LVQ_LEANVEC) else() # Links to LTO-enabled static library, requires GCC/G++ 11.2 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11.2" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11.3") - set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v1.0.0-dev/svs-shared-library-1.0.0-NIGHTLY-20251119-807-lto.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.1.0/svs-shared-library-0.1.0-lto.tar.gz" CACHE STRING "URL to download SVS shared library") else() message(WARNING "Pre-built LVQ/LeanVec SVS library requires GCC/G++ v.11.2 to apply LTO optimizations." "Current compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}" ) - set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.0.11/svs-shared-library-0.0.11.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.1.0/svs-shared-library-0.1.0.tar.gz" CACHE STRING "URL to download SVS shared library") endif() include(FetchContent) diff --git a/examples/cpp/shared/CMakeLists.txt b/examples/cpp/shared/CMakeLists.txt index 84002c23f..8875ec95b 100644 --- a/examples/cpp/shared/CMakeLists.txt +++ b/examples/cpp/shared/CMakeLists.txt @@ -24,7 +24,7 @@ find_package(svs QUIET) if(NOT svs_FOUND) # If sourcing from pip/conda, the following steps are not necessary, simplifying workflow # If not found, download tarball from GitHub release and follow steps to fetch and find - set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.0.11/svs-shared-library-0.0.11.tar.gz" CACHE STRINGS "URL to download SVS shared library tarball if not found in system") + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.1.0/svs-shared-library-0.1.0.tar.gz" CACHE STRINGS "URL to download SVS shared library tarball if not found in system") message(STATUS "SVS not found in system, downloading from: ${SVS_URL}") From 71d19a3f92cce96b839f103fb29002d968ca86d3 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Thu, 18 Dec 2025 15:44:22 -0800 Subject: [PATCH 5/7] Fail if ctests not found for runtime bindings --- .github/workflows/build-cpp-runtime-bindings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-cpp-runtime-bindings.yml b/.github/workflows/build-cpp-runtime-bindings.yml index 9613ac986..73bd076eb 100644 --- a/.github/workflows/build-cpp-runtime-bindings.yml +++ b/.github/workflows/build-cpp-runtime-bindings.yml @@ -74,7 +74,7 @@ jobs: -v ${{ github.workspace }}:/workspace \ -w /workspace \ svs-manylinux228:latest \ - /bin/bash -c "source /etc/bashrc || true && ctest --test-dir bindings/cpp/build_cpp_bindings/tests --output-on-failure --verbose" + /bin/bash -c "source /etc/bashrc || true && ctest --test-dir bindings/cpp/build_cpp_bindings/tests --output-on-failure --no-tests=error --verbose" # Run full test script using the built artifacts test: From f4f48184e1b806aa5174febd06e67f652fae19cc Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Thu, 18 Dec 2025 16:05:05 -0800 Subject: [PATCH 6/7] Add license to dependabot --- .github/dependabot.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 47064f2dc..f60e31d3f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,3 +1,17 @@ +# Copyright 2025 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + version: 2 updates: - package-ecosystem: "github-actions" From ceee4526a189ef2b3c2aaecace980eb427960cb2 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Fri, 19 Dec 2025 10:22:25 -0800 Subject: [PATCH 7/7] Add Faiss-SVS examples to pipeline --- .github/scripts/test-cpp-runtime-bindings.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/scripts/test-cpp-runtime-bindings.sh b/.github/scripts/test-cpp-runtime-bindings.sh index f0251294c..d47c4c724 100644 --- a/.github/scripts/test-cpp-runtime-bindings.sh +++ b/.github/scripts/test-cpp-runtime-bindings.sh @@ -43,6 +43,11 @@ echo "-----------------------------------------------" echo " FAISS C++ tests: " ./tests/faiss_test --gtest_filter=SVS.* echo "-----------------------------------------------" +echo " FAISS-SVS C++ examples: " +make 10-SVS-Vamana-LVQ 11-SVS-Vamana-LeanVec +./tutorial/cpp/10-SVS-Vamana-LVQ +./tutorial/cpp/11-SVS-Vamana-LeanVec +echo "-----------------------------------------------" echo " FAISS python bindings: " cd faiss/python/ python setup.py build @@ -50,3 +55,7 @@ echo "-----------------------------------------------" echo " FAISS python tests: " cd ../../../tests/ PYTHONPATH=../build/faiss/python/build/lib/ OMP_NUM_THREADS=8 python -m unittest test_svs.py +echo "-----------------------------------------------" +echo " FAISS-SVS python examples: " +cd ../tutorial/python/ +PYTHONPATH=../../build/faiss/python/build/lib/ OMP_NUM_THREADS=8 python 11-SVS.py