Skip to content

docs: Weaviate v6 Go client — Go docs CI lane, tested go6 snippets (connect + CRUD), language tab#480

Draft
g-despot wants to merge 8 commits into
mainfrom
docs/go-v6-scaffold
Draft

docs: Weaviate v6 Go client — Go docs CI lane, tested go6 snippets (connect + CRUD), language tab#480
g-despot wants to merge 8 commits into
mainfrom
docs/go-v6-scaffold

Conversation

@g-despot

@g-despot g-despot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

What

Foundational documentation support for the new Weaviate v6 Go client (github.com/weaviate/weaviate-go-client/v6), mirroring the java-v6 rollout: the CI lane + tested module + a parallel go6 language tab, plus the first slice of real v6 content (connect + object CRUD). Further increments (search, aggregate, collections config, tenants, RBAC, backup, aliases) will follow.

CI + infrastructure

  • test-go CI job in docs_tests.yml (mirrors Test Java): clones the go-client at go_client_branch (default v6), injects a -replace, runs the Go snippet tests. New go_client_branch workflow_dispatch input.
  • _includes/code/go-v6/ — a tested Go module.
  • go6 "Go v6" language tab with a go6 <-> go fallback, so a global "Go v6" selection degrades to the v5 Go tab on pages without a v6 snippet.
  • Branch-scoped CI gate: a workflow_dispatch on this branch runs only the Go job (the other languages are skipped) to avoid cross-language noise while iterating; main and the weekly schedule still run everything.

Content (increment 3a)

  • client-libraries/go.md — v6 preview admonition + "What changed in the v6 client" section.
  • Connect (connect-local, connect-cloud, OIDC include) and object CRUD (create / read / update / delete, cross-references) gain go6 tabs.
  • Operations not yet in the v6 client (partial update, fetch-by-id, cross-reference update/delete) render a "Coming soon" go6 tab rather than an empty panel.

Pre-release note

The v6 client is pre-release (v6.0.0-alpha.4) and not yet on the Go module proxy, so go.mod intentionally has no replace directive; CI injects it from a clone of the v6 branch (mirroring the Java lane). Editors show import errors on the committed state; that is expected and resolves under the CI replace. Draft until more of the surface lands.

Testing

The test-go lane passed in CI (4 smoke tests green against the live v6 client). Locally, go vet / go build pass against the v6 source; the doc build + full live snippet run are covered by this PR's checks and the Go-only dispatch.

…nguage tab

Bootstraps CI for the Go client (previously zero Go docs coverage), scope-capped
to a smoke set: connect, create-collection, insert, basic fetch.

- _includes/code/go-v6/: new Go module with // START/// END-marked *_test.go
  snippets for the four smoke ops, plus main.go anchor and shared helpers.
  Committed go.mod requires a placeholder version with no replace; the client
  is not on the module proxy yet, so CI redirects it to a fresh clone.
- .github/workflows/docs_tests.yml: new test-go job mirroring test-java
  (setup-go, clone + go mod edit -replace + go mod tidy, pytest -m go, same
  handle-test-results wiring), a go_client_branch dispatch input defaulting to
  the branch tip, and a GO_VERSION env. Ollama/Keycloak steps omitted (the
  smoke set needs neither embeddings nor OIDC).
- tests/test_go.py + go marker in pytest.ini: pytest wrapper shelling go test.
- src/theme/Tabs/index.js: go6 LANGUAGE_CONFIG entry plus a go6<->go family
  fallback so a global "Go v6" selection degrades to the Go tab instead of a
  dead panel. FilteredTextBlock.js gains a matching go6 DOC_SYSTEMS entry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WmugebxuspdSQrFKE883W5

@orca-security-eu orca-security-eu Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Orca Security Scan Summary

Status Check Issues by priority
Passed Passed Infrastructure as Code high 0   medium 0   low 0   info 0 View in Orca
Passed Passed SAST high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Secrets high 0   medium 0   low 0   info 0 View in Orca
Passed Passed Vulnerabilities high 0   medium 1   low 0   info 0 View in Orca
☢️ The following Vulnerabilities (CVEs) have been detected
PACKAGE FILE CVE ID INSTALLED VERSION FIXED VERSION
high google.golang.org/grpc ...es/code/go-v6/go.mod GHSA-hrxh-6v49-42gf v1.81.1 1.82.1 View in code

g-despot added 3 commits July 22, 2026 18:19
…e 3a)

Focused v6 Go client rollout: document the implemented surface with tested
snippets, Coming-soon placeholders only where a touched page needs a go6 tab
for a not-yet-implemented feature.

Snippets (tested module _includes/code/go-v6/, mirrors the java-v6 lane):
- connect_test.go: NewLocal, custom host+port, local API key, local + cloud
  third-party header keys, NewWeaviateCloud, OIDC bearer token.
- manage_objects_test.go: Data.Insert (create), full Data.Replace (update),
  Data.Delete (by id), Data.DeleteSelected (delete-many by filter); placeholders
  for partial merge and fetch-by-id.
- cross_references_test.go: Data.AddReferences (one-way); placeholders for
  cross-reference delete and update.

Docs:
- client-libraries/go.md: :::info Go client v6 admonition + "What changed in the
  v6 client" section (language-agnostic prose, no version numbers, no em dashes).
- connections/connect-local, connect-cloud, oidc-connect include: go6 tabs.
- manage-objects/create, update, delete, read; manage-collections/cross-references:
  go6 tabs.

Validated locally with the CI replace injected: go mod tidy && go vet ./... &&
go build ./... && go test -run '^$' ./... all pass; committed go.mod keeps
require-no-replace.
…oon panels, go tab highlight)

- go.md: fix broken how-to link ../../guides.mdx -> ../guides.mdx (target is
  docs/weaviate/guides.mdx; matches sibling csharp.mdx).
- go-v6 placeholders: move the TODO[g-despot] lines above the START markers in
  all 4 Coming-soon blocks (manage_objects_test.go UpdateMerge/ReadObject,
  cross_references_test.go Delete Go/Update Go) so the rendered Go v6 tab shows
  only "// Coming soon"; TODOs stay in-file and greppable (java-v6 convention).
- connect-cloud.mdx: fix syntax highlighting on the two v5 Go tabs
  (language="py" -> "go" for APIKeyWCD and ThirdPartyAPIKeys).

Validated: go vet ./... && go build ./... pass with CI replace injected; committed
go.mod keeps require-no-replace. All 4 placeholder START..END regions confirmed to
contain only "// Coming soon".
@g-despot g-despot changed the title docs(ci): add Go v6 (go6) snippet-test lane, tested module, and language tab [scaffold] docs: Weaviate v6 Go client — Go docs CI lane, tested go6 snippets (connect + CRUD), language tab Jul 22, 2026
g-despot and others added 4 commits July 22, 2026 21:05
Add tested Go v6 snippets and parallel go/go6 tabs across the search and
aggregate how-to pages, continuing the focused v6 rollout.

Snippets (tested module _includes/code/go-v6/, compiled against v6 @f4fde3e):
- search_basic_test.go: OverAll fetch variants (list, limit, offset,
  properties, vector, id, cross-refs, metadata, multi-tenancy).
- search_test.go: NearText, NearVector, named-vector nearText, distance
  cutoff, limit/offset, autocut, group-by, filtered vector search.
- hybrid_test.go: Hybrid basics, score, alpha, fusion, properties, property
  weighting, explicit vector, limit, autocut, filter.
- filters_test.go: query/filter Cond/And/Or/Not, contains-any/all/none, like,
  reference-path, len, id/timestamp/null-state, near-text + filter.
- aggregate_test.go: Aggregate.OverAll (count, text, integer, group-by) plus
  Aggregate.NearVector.
- search_placeholders_test.go: Coming-soon placeholders (skip + marker) for
  near-object, geo filter, aggregation over near-text/hybrid, filtered
  aggregation.

Docs: go6 tabs added beside the existing go tabs on search/basics,
search/similarity, search/hybrid, search/filters, search/aggregate.

Validated with the CI replace injected: go vet ./... && go build ./... &&
go test ./... -run '^$' all pass; committed go.mod keeps require-no-replace.
…arget (phase 3c)

Phase 3c of the Weaviate v6 Go client docs: add parallel "Go v6" (go6)
tabs beside the existing "Go" tabs for the fully-implemented management
APIs, backed by real, compile-verified snippets under
_includes/code/go-v6/.

Snippet files (package main, compile-only; runtime tests skip and stay
out of test_go.py's -run set):
- tenants_test.go     multi-tenancy: MT config + auto-tenant, tenant
                      Create/Get(list)/Delete, tenant-scoped
                      insert/search/cross-ref
- rbac_test.go        roles (create with each permission category,
                      add/remove permissions, exists/get/list/assigned
                      users/delete), DB + OIDC users, OIDC groups,
                      role->group assignments
- backup_test.go      Create/Restore + Get*Status + Cancel* + await
                      helpers (AwaitCompletion / WithPollingInterval)
- aliases_test.go     alias Create/List/Get/Update/Delete + use-in-query
- multi_target_test.go  multi-target vectors: Sum/Min/Average/
                      ManualWeights/RelativeScore, Weighted, VectorName

Pages updated (63 go6 tabs total): multi-tenancy, collection-aliases,
rbac/manage-roles, rbac/manage-users, rbac/manage-groups, deploy backups,
search/multi-vector.

Two "// Coming soon" placeholders for ops the v6 client does not expose
yet: collection Update (UpdateAutoMT) and list-known-OIDC-groups
(GetKnownOidcGroups).

Verified: go vet ./... and go build ./... pass against the local v6
client via a temporary replace directive (dropped before commit);
go.mod/go.sum unchanged; gofmt clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WmugebxuspdSQrFKE883W5
…hase 3d)

Add "Go v6" tabs only on config sections the v6 Go client actually
implements: collection create/read/exists/list, properties + data types +
tokenization + nested, named/multi vectors, model2vec + self-provided
vectorizers, HFresh vector index, RQ compression, inverted index / BM25 /
stopwords, sharding, and replication.

Sections where v6 does not yet implement the operation (collection
update/alter, add-property, add named vectors to existing, multi-vector
embeddings, drop inverted index, PQ/BQ/SQ, non-model2vec vectorizers,
generative/reranker config, enable-compression-on-existing) get no go6 tab
and no placeholder; their existing go (v5) tab is left untouched.

Snippets live in _includes/code/go-v6/ (manage_collections_test.go,
vector_config_test.go, collection_config_test.go, compression_test.go),
verified against the v6 source at /private/tmp/go-client-v6 with
go vet ./... and go build ./... under a local replace directive. Config
snippets t.Skip a live server and stay out of the CI -run set.
…s stay compile-only

The test_manage_collections run pattern `TestCreateCollection` is an
unanchored regex that now also matches the new compile-only config tests
(TestCreateCollectionWithProperties / WithVectorizer / WithNamedVectors).
Anchor it to `TestCreateCollection$` so the CI run-set is exactly the
intended base smoke test; the new config tests stay out of the -run set and
remain compile-only (mirrors how 3b/3c model-dependent tests are handled).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant