Bump databricks-sdk-go to v0.136.0#5298
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
| // 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" { |
There was a problem hiding this comment.
I'll fix this in a followup PR - adding overrides to integrate the generated commands with the manually maintained bundle command tree.
|
|
||
| name_template = codegen.get("dependency_name_template", "") | ||
| dep_patterns = codegen.get("dependency_pattern", {}) | ||
| if not name_template or not dep_patterns: |
There was a problem hiding this comment.
we do not set these in .codegen.json so this change is a no-op for the CLI.
| @@ -443,6 +443,18 @@ def get_previous_tag_info(package: Package) -> Optional[TagInfo]: | |||
| return TagInfo(package=package, version=version, content=latest_release) | |||
There was a problem hiding this comment.
overall changes in this file are no-op for the CLI.
Approval status: pending
|
…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
| name = "certifi" | ||
| version = "2026.2.25" | ||
| source = { registry = "https://pypi-proxy.dev.databricks.com/simple/" } | ||
| source = { registry = "https://pypi-proxy.cloud.databricks.com/simple/" } |
There was a problem hiding this comment.
Good catch -- reverted to main in c91a11f. The previous run picked a different pypi-proxy host (cloud vs dev) because of how uv resolved deps in this codegen env; this file shouldn't drift across an SDK bump.
There was a problem hiding this comment.
Correction on my earlier reply -- I checked against the Go SDK's own tagging.py.lock across versions and the dev -> cloud registry switch is expected: v0.132.0 was on pypi-proxy.dev.databricks.com, v0.136.0 and SDK main are on pypi-proxy.cloud.databricks.com. So the original codegen output was correct -- I re-restored it in dd1c304.
There was a problem hiding this comment.
Sorry - the previous comments was posed by claude - not me.
This is also present in the Go SDK so I think it's that the taggging.py.lock file generated generally:
https://github.com/databricks/databricks-sdk-go/blob/main/tagging.py.lock
There was a problem hiding this comment.
this PR makes the changes universe side: https://github.com/databricks-eng/universe/pull/1931627/changes
Two CI-cleanup nits flagged on PR databricks#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
|
An authorized user can trigger integration tests manually by following the instructions below: Trigger: Inputs:
Checks will be approved automatically on success. |
|
reoped as a direct branch on the repo. |
## 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).
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 match