Skip to content

Commit 3657487

Browse files
jfrancoaclaude
andcommitted
ci: run integration tests against Weaviate 1.39.0-rc.0
Bumps the integration-test matrix from 1.36.0 to 1.39.0-rc.0. There is no plain `1.39.0-rc.0` tag on Docker Hub yet, only commit-suffixed builds, so the newest one is pinned following the existing `WEAVIATE_137` convention. Two existing tests needed adapting to intentional server changes in 1.39: - `test_config_export_and_recreate_from_dict`: property names ending in `_searchable` are now rejected on creation, the suffix is reserved for Weaviate's internal indices. The property is renamed, its purpose (a property with `index_searchable=False`) is unchanged. Only top-level properties are validated, so the nested `nested_searchable` needs no change. - `test_collection_config_full`: `asyncEnabled` is no longer stored per class but derived server-side as `factor > 1 && !globallyDisabled`. This collection uses a factor of 1, so it now reports `False`. The pre-1.39 assertions are kept behind a version check. Also fixes a missing comma in the `test-package` matrix that collapsed `$WEAVIATE_136 $WEAVIATE_137` into a single entry, so only 1.36 was ever passed to `start_weaviate.sh` and 1.37 was never tested. Verified by running the full integration suite against 1.36.0 and against 1.39.0-rc.0: both produce identical failure sets, so the bump introduces no regressions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 10652f8 commit 3657487

2 files changed

Lines changed: 17 additions & 9 deletions

File tree

.github/workflows/main.yaml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ env:
2929
WEAVIATE_135: 1.35.0
3030
WEAVIATE_136: 1.36.0
3131
WEAVIATE_137: 1.37.0-dev-29d5c87.amd64
32+
WEAVIATE_139: 1.39.0-rc.0-b41225e.amd64
3233

3334

3435
jobs:
@@ -157,11 +158,11 @@ jobs:
157158
fail-fast: false
158159
matrix:
159160
versions: [
160-
{ py: "3.10", weaviate: $WEAVIATE_136, grpc: "1.59.0"},
161-
{ py: "3.11", weaviate: $WEAVIATE_136, grpc: "1.66.0"},
162-
{ py: "3.12", weaviate: $WEAVIATE_136, grpc: "1.70.0"},
163-
{ py: "3.13", weaviate: $WEAVIATE_136, grpc: "1.72.1"},
164-
{ py: "3.14", weaviate: $WEAVIATE_136, grpc: "1.76.0"}
161+
{ py: "3.10", weaviate: $WEAVIATE_139, grpc: "1.59.0"},
162+
{ py: "3.11", weaviate: $WEAVIATE_139, grpc: "1.66.0"},
163+
{ py: "3.12", weaviate: $WEAVIATE_139, grpc: "1.70.0"},
164+
{ py: "3.13", weaviate: $WEAVIATE_139, grpc: "1.72.1"},
165+
{ py: "3.14", weaviate: $WEAVIATE_139, grpc: "1.76.0"}
165166
]
166167
optional_dependencies: [false]
167168
steps:
@@ -310,8 +311,9 @@ jobs:
310311
$WEAVIATE_133,
311312
$WEAVIATE_134,
312313
$WEAVIATE_135,
313-
$WEAVIATE_136
314-
$WEAVIATE_137
314+
$WEAVIATE_136,
315+
$WEAVIATE_137,
316+
$WEAVIATE_139
315317
]
316318
steps:
317319
- name: Checkout

integration/test_collection_config.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,11 @@ def test_collection_config_full(collection_factory: CollectionFactory) -> None:
349349
assert config.multi_tenancy_config.auto_tenant_creation is False
350350

351351
assert config.replication_config.factor == 1
352-
if collection._connection._weaviate_version.is_at_least(1, 26, 0):
352+
if collection._connection._weaviate_version.is_at_least(1, 39, 0):
353+
# from 1.39 the server derives asyncEnabled from the replication factor instead of storing
354+
# what was requested, and this collection has a factor of 1
355+
assert config.replication_config.async_enabled is False
356+
elif collection._connection._weaviate_version.is_at_least(1, 26, 0):
353357
assert config.replication_config.async_enabled is True
354358
else:
355359
assert config.replication_config.async_enabled is False
@@ -1021,8 +1025,10 @@ def test_config_export_and_recreate_from_dict(collection_factory: CollectionFact
10211025
Property(name="booleans", data_type=DataType.BOOL_ARRAY),
10221026
Property(name="geo", data_type=DataType.GEO_COORDINATES),
10231027
Property(name="phone", data_type=DataType.PHONE_NUMBER),
1028+
# the name must not end in `_searchable`, from 1.39 that suffix is reserved for
1029+
# Weaviate's internal indices and rejected on creation
10241030
Property(
1025-
name="field_index_searchable", data_type=DataType.TEXT, index_searchable=False
1031+
name="field_index_searchable_false", data_type=DataType.TEXT, index_searchable=False
10261032
),
10271033
Property(
10281034
name="field_index_range_filters_false",

0 commit comments

Comments
 (0)