Bump databricks-sdk-go to v0.136.0#5311
Merged
Merged
Conversation
## Why
Pulls in four releases of the Go SDK (v0.133 through v0.136). The
headline addition is the new `bundle` service package, which exposes
the Deployment Metadata Service (DMS) APIs (Deployments, Versions,
Resources, Operations, Locks) used by the CLI's upcoming server-managed
state work. Several other workspace-level service additions also
surface as new CLI subcommands.
## Changes
**Before:** CLI pinned `databricks-sdk-go` at `v0.132.0` and OpenAPI
spec at SHA `a499dda0`.
**Now:** Pinned at `v0.136.0` / OpenAPI SHA `0555d6a5`.
Most of the diff is regenerated output from `./task generate` (CLI
command stubs, JSON schema, bundle docs, Python bindings, acceptance
goldens). Notable in this batch:
- New `cmd/workspace/bundle/` — the auto-generated `databricks bundle`
workspace commands fronting the DMS service (CreateDeployment,
CreateVersion, CreateResource, CreateOperation, Heartbeat,
CompleteVersion, etc.). The interface is marked as `Deprecated` in
the SDK; this is a generator artifact, not a real deprecation.
- New / refreshed pydabs models for new SDK types
(`pipelines.Transformer*`, `pipelines.JsonTransformerOptions`,
`pipelines.KafkaOptions`, `jobs.PythonOperatorTask*`).
Hand-written changes:
- **`CurrentUser.Me` signature:** v0.136 changed it from `Me(ctx)` to
`Me(ctx, iam.MeRequest{})`. Updated 14 production callsites
(`cmd/auth`, `cmd/apps`, `cmd/psql`, `cmd/sync`, `bundle/config/mutator`,
`libs/template`, `libs/sync`, `libs/databrickscfg/cfgpickers`,
`experimental/postgres`, `experimental/ssh/internal/{client,keys,workspace}`,
`integration/internal/acc`, `acceptance/internal/prepare_server.go`,
`acceptance/dbr_test.go`), 3 mocked test expectations in
`cmd/auth/describe_test.go` (`Me(mock.Anything)` -> `Me(mock.Anything, mock.Anything)`).
`bundle/direct/dresources/{apitypes,resources}.generated.yml` are
unchanged from main: the field-behavior annotations they depend on come
from the published OpenAPI CDN, which this branch could not be
regenerated from in the build environment. The pre-bump versions
already cover the new fields (`apps.App.url`,
`apps.App.thumbnail_url`), so no manual edits to `resources.yml`
were needed.
## Test plan
- [x] `go build ./...`
- [x] `go vet ./...`
- [x] `go test ./internal/build ./bundle/internal/schema ./bundle/direct/dresources ./bundle/config/resources ./libs/template ./bundle/config/mutator`
- [x] `TestConsistentDatabricksSdkVersion` confirms SDK version and OpenAPI SHA match
- [x] Pydabs codegen tests (8 passed, run via `uv run --offline`)
- [ ] CI on this PR
Co-authored-by: Isaac
…y file modes
The SDK v0.135 added a workspace-level `bundle` service (DMS) whose
auto-generated cobra command at `cmd/workspace/bundle/bundle.go` uses
`Use: "bundle"` — the same name as the existing DAB `bundle` command
tree (`cmd/bundle`). Registering both as top-level subcommands of `cli`
clobbered the DAB tree's help output, so e.g. `databricks bundle debug
refschema --help` printed the DMS service description and the DMS
subcommand list instead of the refschema help.
Filter the workspace `bundle` command out of the registration loop in
`cmd/cmd.go`. The DMS endpoints remain reachable via `databricks api`
calls. A follow-up PR will resurface these commands under proper DAB
sub-groups (`databricks bundle deployments`, `versions`, `resources`,
`operations`).
Also restore file modes for `.github/workflows/tagging.yml` and
`internal/genkit/tagging.py` (genkit's post-processing inadvertently
flipped both to 0755; main has them at 0644), and update the
`acceptance/bundle/refschema/{output.txt,out.fields.txt}` goldens that
were corrupted in the previous commit by the same bundle namespace
collision (refschema --help now prints its own help; out.fields.txt now
contains the actual field dump that the previous run never produced).
Co-authored-by: Isaac
…dk-v0.136.0 # Conflicts: # NEXT_CHANGELOG.md
SDK v0.136 added new fields to two request structs that the direct
engine constructs: jobs.GetJobRequest.IncludeTriggerState (v0.136) and
postgres.DeleteBranchRequest.{Purge,ForceSendFields} (v0.136). The
exhaustruct linter requires explicit initialization of every field, so
zero-value them out.
No behavior change: both fields default to their zero values.
Co-authored-by: Isaac
Four small fixes for tests that detect SDK-bump-driven changes:
- `libs/databrickscfg/cfgpickers/clusters_test.go`: the SDK's
`CurrentUser.Me(ctx, iam.MeRequest{})` now hits
`/api/2.0/preview/scim/v2/Me?` with a trailing `?` (the URL builder
appends one for the empty query-param shape, even when both fields
are zero-valued). The two `qa.HTTPFixture` stubs were matching the
pre-bump path; update them to include the trailing `?`.
- `libs/structs/structwalk/walktype_test.go`: bump the upper bounds on
the reflective field-count tests (jobs.JobSettings now 605, was 533
pre-bump; config.Root now 5651, was 5213) and refresh the comments.
The lower bounds are unchanged.
- `acceptance/cmd/account/account-help/output.txt`: the `endpoints`
service moved from Beta to Public Preview in the SDK launch-stage
metadata.
- `acceptance/help/output.txt`: vector-search-endpoints description
rewording ("vector search indexes" -> "AI Search indexes") and a new
`temporary-volume-credentials` row in the Unity Catalog group, both
from SDK v0.136 service additions.
Co-authored-by: Isaac
Two CI-cleanup nits flagged on PR #5298: - `cmd/workspace/bundle/bundle.go`: the genkit-generated cobra command set contains a few lines that ended with two trailing spaces inside multi-line backtick strings; the whitespace validator strips them. Run it once and commit the result. - `internal/genkit/tagging.py.lock`: the previous codegen run picked a different pypi-proxy host (`pypi-proxy.cloud.databricks.com`) than main's lock (`pypi-proxy.dev.databricks.com`) -- artifact of where uv resolved deps in the bump-time env. Revert to main; this file shouldn't drift across an SDK bump. Co-authored-by: Isaac
I jumped the gun reverting this in c91a11f. Verified against the Go SDK's own tagging.py.lock across versions: v0.132.0 -> pypi-proxy.dev.databricks.com v0.136.0 -> pypi-proxy.cloud.databricks.com (and SDK main today) So the registry URL migration from dev -> cloud is exactly what genkit ships across this SDK version range. The codegen run for the bump picked it up correctly the first time. Co-authored-by: Isaac
…dk-v0.136.0 # Conflicts: # NEXT_CHANGELOG.md
6 tasks
| @@ -0,0 +1,1108 @@ | |||
| // Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. | |||
|
|
|||
| package bundle | |||
Contributor
There was a problem hiding this comment.
Do we want to have these commands auto generated? I thought we're planning to keep them under databricks bundle deployment?
Contributor
Author
There was a problem hiding this comment.
We are not registering this in the cli for now. I'll register these under the deployment group in a followup.
// The auto-generated `bundle` workspace service (DMS) shares its name
// with the DAB `bundle` command tree (cmd/bundle). Registering both
// here clobbers the DAB tree's help output. Skip the generated one;
// callers still have `databricks api ...` for the DMS endpoints.
if cmd.Name() == "bundle" {
continue
}
andrewnester
approved these changes
May 22, 2026
`CurrentUser.Me` in SDK v0.136 takes an `iam.MeRequest{}` argument; the
URL builder appends an empty query separator, so the wire request is
`.../Me?` instead of `.../Me`. Two acceptance tests redact the network
error with a regex anchored on `Me": ` (no `?`), so the redaction misses
and the goldens diverge.
Update the regex in both `test.toml` files to accept an optional `?`
(`Me\??":`). Backward-compatible with pre-bump URLs and forward-compatible
if the SDK ever drops the trailing `?` again.
Tested locally: both `TestAccept/auth/bundle_default_profile` and
`TestAccept/auth/bundle_and_profile` pass.
Co-authored-by: Isaac
Collaborator
|
Commit: b056916 |
7 tasks
shreyas-goenka
added a commit
that referenced
this pull request
May 22, 2026
The SDK v0.135 added a workspace-level `bundle` (Deployment Metadata Service) whose auto-generated cobra commands live at cmd/workspace/bundle/. The previous PR (#5311) filters that workspace root out of top-level registration because `bundle` collides with the DAB command tree. This commit brings the read-side verbs back, grouped under the noun parents under `databricks bundle`: databricks bundle deployment {get, list} databricks bundle version {get, list} databricks bundle resource {get, list} databricks bundle operation {get, list} Aliases (`deployments`, `versions`, `resources`, `operations`) are attached on each group so cobra renders the noun/nouns pair in the help header and either form routes the same way. Mutating verbs (create-deployment, create-version, create-operation, delete-deployment, complete-version, heartbeat) are intentionally not surfaced -- they have no user-facing workflow yet and stay in the filtered-out workspace tree. The `deployment` group is additive: the new read-side verbs sit alongside the existing `bind`, `unbind`, `migrate` from cmd/bundle/deployment/. Help output renders both sets together with the alias header on top. Implementation lives in cmd/bundle/metadata_service.go: a small helper calls `workspacebundle.New()` once, detaches each subcommand from the (discarded) workspace root, and exposes them via a map keyed by their original cobra Name. cmd/bundle/bundle.go pulls only the four read-side entries from the map and renames each from `<verb>-<noun>` to `<verb>` via `renameTo`, which preserves the trailing positional-arg syntax that cobra renders in usage strings. Co-authored-by: Isaac
Collaborator
|
Commit: ac19dbc |
Collaborator
|
Commit: ac19dbc |
TanishqDatabricks
pushed a commit
to TanishqDatabricks/cli
that referenced
this pull request
May 22, 2026
## Why
Pulls in four releases of the Go SDK (v0.133 through v0.136).
## Changes
**Before:** CLI pinned `databricks-sdk-go` at `v0.132.0` and OpenAPI
spec at SHA `a499dda0`.
**Now:** Pinned at `v0.136.0` / OpenAPI SHA `0555d6a5`.
Most of the diff is regenerated output from `./task generate` (CLI
command stubs, JSON schema, bundle docs, Python bindings, acceptance
goldens). Notable in this batch:
- **New `cmd/workspace/bundle/`** — the auto-generated `databricks
bundle` workspace commands fronting the DMS service (`CreateDeployment`,
`CreateVersion`, `CreateResource`, `CreateOperation`, `Heartbeat`,
`CompleteVersion`, etc.). The interface is currently marked `Deprecated`
in the SDK; this is a generator artifact, not a real deprecation.
- Refreshed pydabs models for new SDK types (`pipelines.Transformer*`,
`pipelines.JsonTransformerOptions`, `pipelines.KafkaOptions`,
`jobs.PythonOperatorTask*`).
Hand-written changes:
- **`CurrentUser.Me` signature:** v0.136 changed it from `Me(ctx)` to
`Me(ctx, iam.MeRequest{})`. Updated 14 production callsites (`cmd/auth`,
`cmd/apps`, `cmd/psql`, `cmd/sync`, `bundle/config/mutator`,
`libs/template`, `libs/sync`, `libs/databrickscfg/cfgpickers`,
`experimental/postgres`,
`experimental/ssh/internal/{client,keys,workspace}`,
`integration/internal/acc`, `acceptance/internal/prepare_server.go`,
`acceptance/dbr_test.go`) plus 3 mocked test expectations in
`cmd/auth/describe_test.go` (`Me(mock.Anything)` -> `Me(mock.Anything,
mock.Anything)`).
<details><summary>SDK v0.132 -> v0.136 changelog summary</summary>
- **v0.133:** WorkspaceAssignmentDetails methods on `a.AccountIamV2` /
`w.WorkspaceIamV2`. `jobs.PythonOperatorTask` on
`RunTask`/`SubmitTask`/`Task`.
`pipelines.ConnectorOptions.KafkaOptions`. Several Postgres / settings
additions. [Breaking] `ml.ListFeaturesRequest` argument order changes;
`postgres.RequestedResource.UnspecifiedResourceName` removed.
- **v0.134:** Jobs `PipelineParams` / `PipelineTask` gained
`FullRefreshSelection`, `RefreshFlowSelection`, `RefreshSelection`,
`ResetCheckpointSelection`. `settingsv2.Setting` gained
`OperationalEmailCustomRecipient` fields.
- **v0.135:** **Added `bundle` package** and `w.Bundle` workspace-level
service. `ml.AuthConfig.MtlsConfig`.
- **v0.136:** Postgres `UndeleteBranch` + branch delete/purge plumbing.
`iam.MeRequest.{Attributes,ExcludedAttributes}` (the `CurrentUser.Me`
signature change). [Breaking] `bundle.Operation.{ActionType,ResourceId}`
and `bundle.Version.CliVersion` made required. [Breaking]
`marketplace.ListListingsRequest.Tags` retyped to `ListingTag`.
[Breaking] `ClustersAPI.Events` pagination shape changed (genkit
absorbed this).
</details>
## Test plan
- [x] `go build ./...`
- [x] `go vet ./...`
- [x] `go test ./internal/build ./bundle/internal/schema
./bundle/direct/dresources ./bundle/config/resources ./libs/template
./bundle/config/mutator`
- [x] `TestConsistentDatabricksSdkVersion` confirms SDK version and
OpenAPI SHA match
- [x] Pydabs codegen tests (8 passed)
- [ ] CI on this PR
---
Replaces databricks#5298 -- moved branch from my fork to upstream so the
JFrog/OIDC token exchange in the test setup works (`id-token: write` is
denied to fork PRs by GitHub Actions).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Pulls in four releases of the Go SDK (v0.133 through v0.136).
Changes
Before: CLI pinned
databricks-sdk-goatv0.132.0and OpenAPI spec at SHAa499dda0.Now: Pinned at
v0.136.0/ OpenAPI SHA0555d6a5.Most of the diff is regenerated output from
./task generate(CLI command stubs, JSON schema, bundle docs, Python bindings, acceptance goldens). Notable in this batch:cmd/workspace/bundle/— the auto-generateddatabricks bundleworkspace commands fronting the DMS service (CreateDeployment,CreateVersion,CreateResource,CreateOperation,Heartbeat,CompleteVersion, etc.). The interface is currently markedDeprecatedin the SDK; this is a generator artifact, not a real deprecation.pipelines.Transformer*,pipelines.JsonTransformerOptions,pipelines.KafkaOptions,jobs.PythonOperatorTask*).Hand-written changes:
CurrentUser.Mesignature: v0.136 changed it fromMe(ctx)toMe(ctx, iam.MeRequest{}). Updated 14 production callsites (cmd/auth,cmd/apps,cmd/psql,cmd/sync,bundle/config/mutator,libs/template,libs/sync,libs/databrickscfg/cfgpickers,experimental/postgres,experimental/ssh/internal/{client,keys,workspace},integration/internal/acc,acceptance/internal/prepare_server.go,acceptance/dbr_test.go) plus 3 mocked test expectations incmd/auth/describe_test.go(Me(mock.Anything)->Me(mock.Anything, mock.Anything)).SDK v0.132 -> v0.136 changelog summary
a.AccountIamV2/w.WorkspaceIamV2.jobs.PythonOperatorTaskonRunTask/SubmitTask/Task.pipelines.ConnectorOptions.KafkaOptions. Several Postgres / settings additions. [Breaking]ml.ListFeaturesRequestargument order changes;postgres.RequestedResource.UnspecifiedResourceNameremoved.PipelineParams/PipelineTaskgainedFullRefreshSelection,RefreshFlowSelection,RefreshSelection,ResetCheckpointSelection.settingsv2.SettinggainedOperationalEmailCustomRecipientfields.bundlepackage andw.Bundleworkspace-level service.ml.AuthConfig.MtlsConfig.UndeleteBranch+ branch delete/purge plumbing.iam.MeRequest.{Attributes,ExcludedAttributes}(theCurrentUser.Mesignature change). [Breaking]bundle.Operation.{ActionType,ResourceId}andbundle.Version.CliVersionmade required. [Breaking]marketplace.ListListingsRequest.Tagsretyped toListingTag. [Breaking]ClustersAPI.Eventspagination shape changed (genkit absorbed this).Test plan
go build ./...go vet ./...go test ./internal/build ./bundle/internal/schema ./bundle/direct/dresources ./bundle/config/resources ./libs/template ./bundle/config/mutatorTestConsistentDatabricksSdkVersionconfirms SDK version and OpenAPI SHA matchReplaces #5298 -- moved branch from my fork to upstream so the JFrog/OIDC token exchange in the test setup works (
id-token: writeis denied to fork PRs by GitHub Actions).