Skip to content

Bump databricks-sdk-go to v0.136.0#5311

Merged
shreyas-goenka merged 9 commits into
mainfrom
shreyas-goenka/bump-sdk-v0.136.0
May 22, 2026
Merged

Bump databricks-sdk-go to v0.136.0#5311
shreyas-goenka merged 9 commits into
mainfrom
shreyas-goenka/bump-sdk-v0.136.0

Conversation

@shreyas-goenka
Copy link
Copy Markdown
Contributor

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)).
SDK v0.132 -> v0.136 changelog 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).

Test plan

  • go build ./...
  • go vet ./...
  • go test ./internal/build ./bundle/internal/schema ./bundle/direct/dresources ./bundle/config/resources ./libs/template ./bundle/config/mutator
  • TestConsistentDatabricksSdkVersion confirms SDK version and OpenAPI SHA match
  • Pydabs codegen tests (8 passed)
  • CI on this PR

Replaces #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).

## 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
@shreyas-goenka shreyas-goenka marked this pull request as ready for review May 22, 2026 09:56
@@ -0,0 +1,1108 @@
// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT.

package bundle
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do we want to have these commands auto generated? I thought we're planning to keep them under databricks bundle deployment?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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
}

@shreyas-goenka shreyas-goenka requested a review from denik May 22, 2026 10:06
`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
@eng-dev-ecosystem-bot
Copy link
Copy Markdown
Collaborator

Commit: b056916

Run: 26281864387

@shreyas-goenka shreyas-goenka added this pull request to the merge queue May 22, 2026
Merged via the queue into main with commit ac19dbc May 22, 2026
34 checks passed
@shreyas-goenka shreyas-goenka deleted the shreyas-goenka/bump-sdk-v0.136.0 branch May 22, 2026 11:21
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
@eng-dev-ecosystem-bot
Copy link
Copy Markdown
Collaborator

Commit: ac19dbc

Run: 26284883371

@eng-dev-ecosystem-bot
Copy link
Copy Markdown
Collaborator

Commit: ac19dbc

Run: 26286653968

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).
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.

3 participants