diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a045c6d6..6a5eb3b2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -70,13 +70,14 @@ jobs: # Build and test matrix (parallel execution) build-and-test: - name: Build & Test (${{ matrix.platform }}) + name: Build & Test (${{ matrix.platform }}, py${{ matrix.python-version }}) needs: lint runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + python-version: ['3.10', '3.13', '3.14'] include: - os: macos-15 platform: macos-arm64 @@ -99,7 +100,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: '3.10' + python-version: ${{ matrix.python-version }} cache: 'pip' cache-dependency-path: 'pyproject.toml' diff --git a/pyproject.toml b/pyproject.toml index d77eeab2..3203f38f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,6 +27,8 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Database", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", @@ -161,6 +163,8 @@ build = [ "cp310-*", "cp311-*", "cp312-*", + "cp313-*", + "cp314-*", ] build-frontend = "build" test-requires = ["pytest", "numpy"] diff --git a/tests/core/metric/quantized_integer_metric_test.cc b/tests/core/metric/quantized_integer_metric_test.cc index d0deac84..11916ffe 100644 --- a/tests/core/metric/quantized_integer_metric_test.cc +++ b/tests/core/metric/quantized_integer_metric_test.cc @@ -516,7 +516,7 @@ void TestDistanceMatrixInt4(const std::string &metric_name) { matrix_compute(&matrix2[0], &query2[0], meta2.dimension(), &result2[0]); for (size_t i = 0; i < batch_size * query_size; ++i) { - EXPECT_NEAR(result1[i], result2[i], 1e-4); + EXPECT_NEAR(result1[i], result2[i], 5e-4); EXPECT_TRUE(IsAlmostEqual(result1[i], result2[i], 1e4)); } }