Select Orbit skills using the caller's query language

What does this MR do and why?

This also bumps gitlab-orbit-proto to 0.137.0, the first release with language on skill requests. On 0.135.0 those request constructors raise ArgumentError.

Rails now passes the user's existing orbit_gql_queries selection through request_language(user) on ListSkills and GetSkill, matching other Orbit RPCs. GQL users receive the skill for openCypher 9-based syntax instead of JSON guidance. Two rows extend the existing parameterized tests for flag off and on.

References

The server change is merged: gitlab-org/orbit/knowledge-graph!2672 (merged).

Relates to gitlab-org/orbit/knowledge-graph#1311.

Screenshots or screen recordings

Not applicable. There is no UI change.

How to set up and validate locally

Use Orbit v0.137.0 or later and toggle the per-user orbit_gql_queries flag off and on. Verify that /api/v4/orbit/skills and /api/v4/orbit/skills/orbit return the matching versions, including ETag switching. Then run bundle exec rspec ee/spec/lib/analytics/knowledge_graph/grpc_client_spec.rb.

With the published 0.137.0 gem, grpc_client_spec.rb passes 151 examples. On 0.135.0, 8 of them fail with Unknown field name 'language'. Before the release, GDK REST and the CLI validated both modes and cache/ETag switching with a locally regenerated protobuf overlay. Ruby syntax checks and RuboCop pass.

MR acceptance checklist

Evaluate against the MR acceptance checklist.

Edited by Aaron Algutifan

Merge request reports

Loading
Loading