From 8a83e6fb8676c3e7478269ec9645c2425f00036b Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 28 Nov 2025 09:14:49 +0000 Subject: [PATCH 1/4] Add latest weaviate versions to CI testing --- .github/workflows/main.yaml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 3979846e..ce9f5a8c 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -9,11 +9,12 @@ on: env: WEAVIATE_127: 1.27.27 WEAVIATE_128: 1.28.16 - WEAVIATE_129: 1.29.9 - WEAVIATE_130: 1.30.17 - WEAVIATE_131: 1.31.16 - WEAVIATE_132: 1.32.10 - WEAVIATE_133: 1.33.0 + WEAVIATE_129: 1.29.11 + WEAVIATE_130: 1.30.22 + WEAVIATE_131: 1.31.20 + WEAVIATE_132: 1.32.18 + WEAVIATE_133: 1.33.6 + WEAVIATE_134: 1.34.1 concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -47,9 +48,10 @@ jobs: { node: "22.x", weaviate: $WEAVIATE_130}, { node: "22.x", weaviate: $WEAVIATE_131}, { node: "22.x", weaviate: $WEAVIATE_132}, - { node: "18.x", weaviate: $WEAVIATE_133}, - { node: "20.x", weaviate: $WEAVIATE_133}, { node: "22.x", weaviate: $WEAVIATE_133}, + { node: "18.x", weaviate: $WEAVIATE_134}, + { node: "20.x", weaviate: $WEAVIATE_134}, + { node: "22.x", weaviate: $WEAVIATE_134}, ] steps: - uses: actions/checkout@v3 From c8991aa3357f78886bdb9551ae01804baceaf668 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 28 Nov 2025 10:13:06 +0000 Subject: [PATCH 2/4] Update node support and tests accordingly --- .github/workflows/main.yaml | 18 +++++++++--------- package.json | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index ce9f5a8c..718cbbc6 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -42,16 +42,16 @@ jobs: fail-fast: false matrix: versions: [ - { node: "22.x", weaviate: $WEAVIATE_127}, - { node: "22.x", weaviate: $WEAVIATE_128}, - { node: "22.x", weaviate: $WEAVIATE_129}, - { node: "22.x", weaviate: $WEAVIATE_130}, - { node: "22.x", weaviate: $WEAVIATE_131}, - { node: "22.x", weaviate: $WEAVIATE_132}, - { node: "22.x", weaviate: $WEAVIATE_133}, - { node: "18.x", weaviate: $WEAVIATE_134}, + { node: "24.x", weaviate: $WEAVIATE_127}, + { node: "24.x", weaviate: $WEAVIATE_128}, + { node: "24.x", weaviate: $WEAVIATE_129}, + { node: "24.x", weaviate: $WEAVIATE_130}, + { node: "24.x", weaviate: $WEAVIATE_131}, + { node: "24.x", weaviate: $WEAVIATE_132}, + { node: "24.x", weaviate: $WEAVIATE_133}, { node: "20.x", weaviate: $WEAVIATE_134}, { node: "22.x", weaviate: $WEAVIATE_134}, + { node: "24.x", weaviate: $WEAVIATE_134}, ] steps: - uses: actions/checkout@v3 @@ -82,7 +82,7 @@ jobs: fail-fast: false matrix: versions: [ - { node: "22.x", weaviate: $WEAVIATE_130} + { node: "24.x", weaviate: $WEAVIATE_134}, ] steps: - uses: actions/checkout@v3 diff --git a/package.json b/package.json index f54cf0f9..6a1d2780 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ } }, "engines": { - "node": ">=18.0.0" + "node": ">=20.0.0" }, "scripts": { "test": "jest --no-cache --useStderr --runInBand --detectOpenHandles", From 5433f9e0b8a218e832aab426411dbc38bd25b5dd Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 28 Nov 2025 10:55:51 +0000 Subject: [PATCH 3/4] Add 10s startup timeout to testcontainers test --- src/connection/integration.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/connection/integration.test.ts b/src/connection/integration.test.ts index 9f229782..cbe9f111 100644 --- a/src/connection/integration.test.ts +++ b/src/connection/integration.test.ts @@ -1,4 +1,5 @@ import { StartedWeaviateContainer, WeaviateContainer } from '@testcontainers/weaviate'; +import { Wait } from 'testcontainers'; import weaviate from '..'; import { WeaviateStartUpError } from '../errors'; import { Meta } from '../openapi/types'; @@ -14,6 +15,7 @@ describe('Integration testing of the ConnectionGRPC class', () => { beforeAll(async () => { container = await new WeaviateContainer(`semitechnologies/weaviate:${process.env.WEAVIATE_VERSION}`) + .withWaitStrategy(Wait.forHttp('/v1/.well-known/ready', 8080).withStartupTimeout(10 * 1000)) .withExposedPorts(8080, 50051) .withEnvironment({ GRPC_MAX_MESSAGE_SIZE: '1', From 0469b73705e16cab1e01b580492a0eda3d50e9b6 Mon Sep 17 00:00:00 2001 From: Tommy Smith Date: Fri, 28 Nov 2025 11:06:18 +0000 Subject: [PATCH 4/4] Update tests for 1.34.0 with default acorn filtering --- src/collections/config/integration.test.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/collections/config/integration.test.ts b/src/collections/config/integration.test.ts index 5836fd1c..a2fed17d 100644 --- a/src/collections/config/integration.test.ts +++ b/src/collections/config/integration.test.ts @@ -23,7 +23,7 @@ describe('Testing of the collection.config namespace', () => { afterAll(() => client.collections.deleteAll()); - it('should be able get the config of a collection without generics', async () => { + it('should be able to get the config of a collection without generics', async () => { const collectionName = 'TestCollectionConfigGetWithGenerics'; type TestCollectionConfigGet = { testProp: string; @@ -68,7 +68,9 @@ describe('Testing of the collection.config namespace', () => { dynamicEfMax: 500, dynamicEfFactor: 8, vectorCacheMaxObjects: 1000000000000, - filterStrategy: 'sweeping', + filterStrategy: (await client.getWeaviateVersion().then((ver) => ver.isLowerThan(1, 34, 0))) + ? 'sweeping' + : 'acorn', flatSearchCutoff: 40000, distance: 'cosine', multiVector: undefined, @@ -124,7 +126,9 @@ describe('Testing of the collection.config namespace', () => { dynamicEfMax: 500, dynamicEfFactor: 8, vectorCacheMaxObjects: 1000000000000, - filterStrategy: 'sweeping', + filterStrategy: (await client.getWeaviateVersion().then((ver) => ver.isLowerThan(1, 34, 0))) + ? 'sweeping' + : 'acorn', flatSearchCutoff: 40000, distance: 'cosine', multiVector: undefined, @@ -609,7 +613,9 @@ describe('Testing of the collection.config namespace', () => { dynamicEfMax: 500, dynamicEfFactor: 8, vectorCacheMaxObjects: 1000000000000, - filterStrategy: 'sweeping', + filterStrategy: (await client.getWeaviateVersion().then((ver) => ver.isLowerThan(1, 34, 0))) + ? 'sweeping' + : 'acorn', flatSearchCutoff: 40000, distance: 'cosine', multiVector: undefined, @@ -682,7 +688,7 @@ describe('Testing of the collection.config namespace', () => { expect(config.multiTenancy.enabled).toEqual(true); }); - it('should be able update the config of a collection with legacy vectors', async () => { + it.only('should be able update the config of a collection with legacy vectors', async () => { const clientV2 = weaviateV2.client({ host: 'http://localhost:8080', }); @@ -719,7 +725,9 @@ describe('Testing of the collection.config namespace', () => { dynamicEfMax: 500, dynamicEfFactor: 8, vectorCacheMaxObjects: 1000000000000, - filterStrategy: 'sweeping', + filterStrategy: (await client.getWeaviateVersion().then((ver) => ver.isLowerThan(1, 34, 0))) + ? 'sweeping' + : 'acorn', flatSearchCutoff: 40000, distance: 'cosine', multiVector: undefined,