Repository navigation
Do not write job defaults into a reference to a whole block - #7225
Merged
Merged
Conversation
Contributor
|
Commit: Regression test reportSelected 2 changed tests (limit=20, 0 not selected) 4 tests: regression=4 unreleased=0 coverage=0 failing=0
TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=: branch ✅ | main (d3e5dde) ❌ | latest (v1.22.1) ❌main (d3e5dde): latest (v1.22.1): same output as main (d3e5dde) TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=true: branch ✅ | main (d3e5dde) ❌ | latest (v1.22.1) ❌main (d3e5dde): latest (v1.22.1): TestAccept/bundle/validate/references/job_trigger_whole_reference/DMS=: branch ✅ | main (d3e5dde) ❌ | latest (v1.22.1) ❌main (d3e5dde): latest (v1.22.1): same output as main (d3e5dde) TestAccept/bundle/validate/references/job_trigger_whole_reference/DMS=true: branch ✅ | main (d3e5dde) ❌ | latest (v1.22.1) ❌main (d3e5dde): latest (v1.22.1): |
Collaborator
Integration test reportCommit: 1ec962d
Top 6 slowest tests (at least 2 minutes):
|
bundle.SetDefault wrote e.g. schedule.pause_status by path, which failed with
"expected a map to index" when the schedule was "${resources.jobs.base.schedule}".
Skip values that are a pure reference: the referenced block gets the default itself.
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
denik
force-pushed
the
denik/fix-defaults-whole-reference
branch
from
October 28, 2026 15:16
b7a1880 to
1ec962d
Compare
denik
marked this pull request as ready for review
October 28, 2026 15:22
shreyas-goenka
approved these changes
Oct 28, 2026
Collaborator
Integration test reportCommit: 8b4a341
7 interesting tests: 7 flaky
Top 50 slowest tests (at least 2 minutes):
|
deco-sdk-tagging Bot
added a commit
that referenced
this pull request
Oct 29, 2026
## Release v1.23.0 ### CLI * Fix GitHub API rate limit errors in `aitools list` and plugin installs by pinning skills to `0.2.32`. ([#7159](#7159)) * `databricks ssh connect` now makes `claude` and `codex` available on dedicated clusters. ([#7190](#7190)) * `databricks ssh connect` on serverless now makes `claude` and `codex` available in IDE sessions (`--ide`) and to non-interactive commands (e.g. `databricks ssh connect -- 'claude -p "..."'`). ([#7123](#7123)) ### AI Runtime * Add workload support for the GPU_1xRTX6000 accelerator type in enabled workspaces. ([#7214](#7214)) * Show only the accelerator types available in the current workspace in `databricks air run -h config.compute`. ([#6993](#6993)) ### Bundles * Fixed `bundle validate` failing with "expected a map to index" when a job `schedule`, `trigger` or `continuous` is a reference to a whole block, such as `${resources.jobs.base.schedule}`. ([#7225](#7225)) * Added `lifecycle.depends_on` to order resources without referencing their fields. ([#7120](#7120)) * Immutable-folder deploys now refuse to deploy onto a snapshot that was modified outside the bundle (break glass); `bundle deploy --force` moves the deployment to a fresh snapshot. ([#6774](#6774)) * Fix `--include-locations` failing when a resource is missing a required field. ([#7185](#7185)) * Removed spurious "required field is not set" warnings for a field whose value is a reference to a whole block, such as `schedule: ${resources.jobs.base.schedule}`. ([#7226](#7226)) * Revert bundle file uploads to the legacy `/workspace-files/import-file` endpoint, rolling back [#6149](#6149) and [#7034](#7034) released in [v1.21.0](https://github.com/databricks/cli/releases/tag/v1.21.0). This fixes notebooks being uploaded as plain files and deployments failing (for example SQL notebooks in [#7216](#7216)). A remote file or notebook whose type differs from the local one is now deleted and replaced instead of blocking the deploy. ([#7218](#7218)) * Support selecting resources for deletion with `bundle deploy --select`. ([#7023](#7023)) * Add the `workspace.sync_mode` setting with the values `overwrite` (default), `in-place`, and `immutable`. It replaces `presets.source_linked_deployment` (use `in-place`) and `experimental.immutable_folder` (use `immutable`), which are now deprecated and emit a warning. ([#7183](#7183)) ### Dependency Updates * Bump dependencies with known vulnerabilities. ([#7213](#7213)) * Update the Go SDK to [v0.190.0](https://github.com/databricks/databricks-sdk-go/releases/tag/v0.190.0). ([#7155](#7155)) * Update the Go SDK to [v0.191.0](https://github.com/databricks/databricks-sdk-go/releases/tag/v0.191.0). ([#7211](#7211)) * Bump Node.js downloaded by the `ssh` agent shim from v24.21.0 to v24.22.2. ([#7246](#7246))
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.
Changes
bundle.SetDefaultskips a matched value that is a pure${...}reference instead of indexing into it. Applies to every default set inresourcemutator(e.g.schedule/trigger/continuous.pause_status).Why
schedule: ${resources.jobs.base.schedule}madebundle validatefail withexpected a map to index "pause_status", found string. The referenced schedule gets the default itself, so the resolved value has it (see the plan output in the test).Port note: the fix lives in
bundle/set_default.goand is dyn-specific (a reference is a string in the dyn tree); on typed structs the equivalent is to skip a field held as a reference.Tests
bundle/set_default_test.go.acceptance/bundle/validate/references/job_{schedule,trigger}_whole_reference: Badness removed; validate and plan succeed. The schedule test keeps a Badness for the spurious required-field warnings, fixed in the follow-up.This pull request and its description were written by Isaac.