diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 8157a6d0f..3b192b31a 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -13,12 +13,17 @@ on: - publishing.md pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + env: WEAVIATE_124: 1.24.26 - WEAVIATE_125: 1.25.24 - WEAVIATE_126: 1.26.8 - WEAVIATE_127: 1.27.1 - WEAVIATE_128: preview-rbac-tenant-operation-permissions-be88593 + WEAVIATE_125: 1.25.29 + WEAVIATE_126: 1.26.13 + WEAVIATE_127: 1.27.9 + WEAVIATE_128: 1.28.2-2c00437 + jobs: lint-and-format: name: Run Linter and Formatter diff --git a/ci/docker-compose.yml b/ci/docker-compose.yml index c959847da..ca7e4e8c2 100644 --- a/ci/docker-compose.yml +++ b/ci/docker-compose.yml @@ -21,13 +21,12 @@ services: AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' PERSISTENCE_DATA_PATH: '/var/lib/weaviate' DEFAULT_VECTORIZER_MODULE: 'text2vec-contextionary' - ENABLE_MODULES: text2vec-contextionary,backup-filesystem,img2vec-neural,generative-dummy,generative-anyscale,reranker-dummy,reranker-cohere + ENABLE_MODULES: text2vec-contextionary,backup-filesystem,generative-dummy,generative-anyscale,reranker-dummy,reranker-cohere BACKUP_FILESYSTEM_PATH: "/tmp/backups" CLUSTER_GOSSIP_BIND_PORT: "7100" CLUSTER_DATA_BIND_PORT: "7101" CLUSTER_HOSTNAME: "node1" AUTOSCHEMA_ENABLED: 'false' - IMAGE_INFERENCE_API: "http://i2v-neural:8080" DISABLE_TELEMETRY: 'true' DISABLE_LAZY_LOAD_SHARDS: 'true' GRPC_MAX_MESSAGE_SIZE: 100000000 # 100mb @@ -41,6 +40,4 @@ services: image: semitechnologies/contextionary:en0.16.0-v1.2.0 ports: - 9999:9999 - i2v-neural: - image: semitechnologies/img2vec-pytorch:resnet50 ... diff --git a/integration/test_collection.py b/integration/test_collection.py index eb8e4f25f..658b4d01c 100644 --- a/integration/test_collection.py +++ b/integration/test_collection.py @@ -1276,6 +1276,9 @@ def test_near_text_offset(collection_factory: CollectionFactory) -> None: assert objects[0].properties["value"] == "apple cake" +@pytest.mark.skip( + "img2vec-neural removed from CI. This test should go in the e2e-tests repo instead" +) @pytest.mark.parametrize( "image_maker", [ @@ -1330,6 +1333,9 @@ def test_near_image( assert objects3[0].uuid == uuid2 +@pytest.mark.skip( + "img2vec-neural removed from CI. This test should go in the e2e-tests repo instead" +) @pytest.mark.parametrize( "image_maker", [ diff --git a/integration/test_collection_aggregate.py b/integration/test_collection_aggregate.py index f221bc548..4ee34245d 100644 --- a/integration/test_collection_aggregate.py +++ b/integration/test_collection_aggregate.py @@ -570,6 +570,9 @@ def test_near_text_missing_param(collection_factory: CollectionFactory) -> None: ) +@pytest.mark.skip( + "img2vec-neural removed from CI. This test should go in the e2e-tests repo instead" +) @pytest.mark.parametrize("option", [{"object_limit": 1}, {"certainty": 0.9}, {"distance": 0.1}]) def test_near_image_aggregation(collection_factory: CollectionFactory, option: dict) -> None: collection = collection_factory( @@ -591,6 +594,9 @@ def test_near_image_aggregation(collection_factory: CollectionFactory, option: d assert res.properties["rating"].maximum == 9 +@pytest.mark.skip( + "img2vec-neural removed from CI. This test should go in the e2e-tests repo instead" +) def test_near_image_missing_param(collection_factory: CollectionFactory) -> None: collection = collection_factory( properties=[ diff --git a/weaviate/rbac/models.py b/weaviate/rbac/models.py index ab2543247..88f548e17 100644 --- a/weaviate/rbac/models.py +++ b/weaviate/rbac/models.py @@ -6,6 +6,7 @@ from pydantic import BaseModel from weaviate.cluster.types import Verbosity +from weaviate.util import _capitalize_first_letter class PermissionData(TypedDict): @@ -153,7 +154,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "collections": { - "collection": self.collection, + "collection": _capitalize_first_letter(self.collection), "tenant": self.tenant, }, } @@ -167,7 +168,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "tenants": { - "collection": self.collection, + "collection": _capitalize_first_letter(self.collection), "tenant": "*", }, } @@ -182,7 +183,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "nodes": { - "collection": self.collection, + "collection": _capitalize_first_letter(self.collection), "verbosity": self.verbosity, }, } @@ -216,7 +217,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "backups": { - "collection": self.collection, + "collection": _capitalize_first_letter(self.collection), }, } @@ -240,7 +241,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "data": { - "collection": self.collection, + "collection": _capitalize_first_letter(self.collection), "object": self.object_, "tenant": self.tenant, }, @@ -256,7 +257,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "collections": { - "collection": self.collection, + "collection": _capitalize_first_letter(self.collection), "tenant": "*", }, } @@ -271,7 +272,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "data": { - "collection": self.collection, + "collection": _capitalize_first_letter(self.collection), "object": "*", "tenant": "*", }, @@ -317,7 +318,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "backups": { - "collection": self.collection, + "collection": _capitalize_first_letter(self.collection), }, } @@ -332,7 +333,7 @@ def _to_weaviate(self) -> WeaviatePermission: return { "action": self.action, "nodes": { - "collection": self.collection or "*", + "collection": _capitalize_first_letter(self.collection or "*"), "verbosity": self.verbosity, }, }