Skip to content

Do not check required fields inside a pure reference - #7226

Merged
denik merged 2 commits into
mainfrom
denik/fix-required-skip-reference
Oct 28, 2026
Merged

denik merged 2 commits into
mainfrom
denik/fix-required-skip-reference

Conversation

@denik

@denik denik commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Changes

The required-field warning check (bundle/config/validate/required.go) skips a value that is a pure ${...} reference.

Why

schedule: ${resources.jobs.base.schedule} produced required field "quartz_cron_expression" is not set (and timezone_id) for the referring job, although the referenced schedule sets both. The same happens on main for e.g. queue: ${...}. The referenced value is checked where it is defined.

Stacked on #7225 (the test only gets past validate with that fix).

Port note: the fix lives in warnForMissingFields and is dyn-specific (it walks the dyn tree); a typed walker needs the same skip for fields held as references.

Tests

  • Unit test in bundle/config/validate/required_test.go.
  • acceptance/bundle/validate/references/job_schedule_whole_reference: warnings gone, Badness removed.

This pull request and its description were written by Isaac.

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Commit: faae0bc86 | Workflow run

Regression test report

Selected 1 changed tests (limit=20, 0 not selected)

2 tests: regression=2 unreleased=0 coverage=0 failing=0

test branch main (8b4a341) latest (v1.22.1)
TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS= ✅ ❌ ❌
TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=true ✅ ❌ ❌
TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=: branch ✅ | main (8b4a341) ❌ | latest (v1.22.1) ❌

main (8b4a341):

acceptance_test.go:1341: 
        	Error Trace:	/home/runner/work/cli/cli/libs/testdiff/testdiff.go:22
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:1341
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:1082
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:659
        	Error:      	Not equal: 
        	            	expected: "\n>>> [CLI] bundle validate\nName: test-bundle\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default\n\nValidation OK!\n\n>>> [CLI] bundle plan -o json\n{\n  \"pause_status\": \"UNPAUSED\",\n  \"quartz_cron_expression\": \"0 0 * * * ?\",\n  \"timezone_id\": \"UTC\"\n}\n"
        	            	actual  : "\n>>> [CLI] bundle validate\nWarning: required field \"quartz_cron_expression\" is not set\n  at resources.jobs.viaref.schedule\n  in databricks.yml:9:17\n\nWarning: required field \"timezone_id\" is not set\n  at resources.jobs.viaref.schedule\n  in databricks.yml:9:17\n\nName: test-bundle\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default\n\nFound 2 warnings\n\n>>> [CLI] bundle plan -o json\nWarning: required field \"quartz_cron_expression\" is not set\n  at resources.jobs.viaref.schedule\n  in databricks.yml:9:17\n\nWarning: required field \"timezone_id\" is not set\n  at resources.jobs.viaref.schedule\n  in databricks.yml:9:17\n\n{\n  \"pause_status\": \"UNPAUSED\",\n  \"quartz_cron_expression\": \"0 0 * * * ?\",\n  \"timezone_id\": \"UTC\"\n}\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,2 +2,10 @@
        	            	 >>> [CLI] bundle validate
        	            	+Warning: required field "quartz_cron_expression" is not set
        	            	+  at resources.jobs.viaref.schedule
        	            	+  in databricks.yml:9:17
        	            	+
        	            	+Warning: required field "timezone_id" is not set
        	            	+  at resources.jobs.viaref.schedule
        	            	+  in databricks.yml:9:17
        	            	+
        	            	 Name: test-bundle
        	            	@@ -8,5 +16,13 @@
        	            	 
        	            	-Validation OK!
        	            	+Found 2 warnings
        	            	 
        	            	 >>> [CLI] bundle plan -o json
        	            	+Warning: required field "quartz_cron_expression" is not set
        	            	+  at resources.jobs.viaref.schedule
        	            	+  in databricks.yml:9:17
        	            	+
        	            	+Warning: required field "timezone_id" is not set
        	            	+  at resources.jobs.viaref.schedule
        	            	+  in databricks.yml:9:17
        	            	+
        	            	 {
        	Test:       	TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=
        	Messages:   	bundle/validate/references/job_schedule_whole_reference/output.txt vs /tmp/TestAcceptbundlevalidatereferencesjob_schedule_whole_referen141883274/002/output.txt

latest (v1.22.1):

acceptance_test.go:1341: 
        	Error Trace:	/home/runner/work/cli/cli/libs/testdiff/testdiff.go:22
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:1341
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:1082
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:659
        	Error:      	Not equal: 
        	            	expected: "\n>>> [CLI] bundle validate\nName: test-bundle\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default\n\nValidation OK!\n\n>>> [CLI] bundle plan -o json\n{\n  \"pause_status\": \"UNPAUSED\",\n  \"quartz_cron_expression\": \"0 0 * * * ?\",\n  \"timezone_id\": \"UTC\"\n}\n"
        	            	actual  : "\n>>> [CLI] bundle validate\nError: expected a map to index \"pause_status\", found string\n\nName: test-bundle\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default\n\nFound 1 error\n\nExit code: 1\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,2 +2,4 @@
        	            	 >>> [CLI] bundle validate
        	            	+Error: expected a map to index "pause_status", found string
        	            	+
        	            	 Name: test-bundle
        	            	@@ -8,10 +10,5 @@
        	            	 
        	            	-Validation OK!
        	            	+Found 1 error
        	            	 
        	            	->>> [CLI] bundle plan -o json
        	            	-{
        	            	-  "pause_status": "UNPAUSED",
        	            	-  "quartz_cron_expression": "0 0 * * * ?",
        	            	-  "timezone_id": "UTC"
        	            	-}
        	            	+Exit code: 1
        	            	 
        	Test:       	TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=
        	Messages:   	bundle/validate/references/job_schedule_whole_reference/output.txt vs /tmp/TestAcceptbundlevalidatereferencesjob_schedule_whole_referen3554763349/002/output.txt
FAIL
TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=true: branch ✅ | main (8b4a341) ❌ | latest (v1.22.1) ❌

main (8b4a341):

acceptance_test.go:1341: 
        	Error Trace:	/home/runner/work/cli/cli/libs/testdiff/testdiff.go:22
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:1341
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:1082
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:659
        	Error:      	Not equal: 
        	            	expected: "\n>>> [CLI] bundle validate\nName: test-bundle\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default\n\nValidation OK!\n\n>>> [CLI] bundle plan -o json\n{\n  \"pause_status\": \"UNPAUSED\",\n  \"quartz_cron_expression\": \"0 0 * * * ?\",\n  \"timezone_id\": \"UTC\"\n}\n"
        	            	actual  : "\n>>> [CLI] bundle validate\nWarning: required field \"quartz_cron_expression\" is not set\n  at resources.jobs.viaref.schedule\n  in databricks.yml:9:17\n\nWarning: required field \"timezone_id\" is not set\n  at resources.jobs.viaref.schedule\n  in databricks.yml:9:17\n\nName: test-bundle\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default\n\nFound 2 warnings\n\n>>> [CLI] bundle plan -o json\nWarning: required field \"quartz_cron_expression\" is not set\n  at resources.jobs.viaref.schedule\n  in databricks.yml:9:17\n\nWarning: required field \"timezone_id\" is not set\n  at resources.jobs.viaref.schedule\n  in databricks.yml:9:17\n\n{\n  \"pause_status\": \"UNPAUSED\",\n  \"quartz_cron_expression\": \"0 0 * * * ?\",\n  \"timezone_id\": \"UTC\"\n}\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,2 +2,10 @@
        	            	 >>> [CLI] bundle validate
        	            	+Warning: required field "quartz_cron_expression" is not set
        	            	+  at resources.jobs.viaref.schedule
        	            	+  in databricks.yml:9:17
        	            	+
        	            	+Warning: required field "timezone_id" is not set
        	            	+  at resources.jobs.viaref.schedule
        	            	+  in databricks.yml:9:17
        	            	+
        	            	 Name: test-bundle
        	            	@@ -8,5 +16,13 @@
        	            	 
        	            	-Validation OK!
        	            	+Found 2 warnings
        	            	 
        	            	 >>> [CLI] bundle plan -o json
        	            	+Warning: required field "quartz_cron_expression" is not set
        	            	+  at resources.jobs.viaref.schedule
        	            	+  in databricks.yml:9:17
        	            	+
        	            	+Warning: required field "timezone_id" is not set
        	            	+  at resources.jobs.viaref.schedule
        	            	+  in databricks.yml:9:17
        	            	+
        	            	 {
        	Test:       	TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=true
        	Messages:   	bundle/validate/references/job_schedule_whole_reference/output.txt vs /tmp/TestAcceptbundlevalidatereferencesjob_schedule_whole_referen3475914832/002/output.txt
FAIL

latest (v1.22.1):

acceptance_test.go:1341: 
        	Error Trace:	/home/runner/work/cli/cli/libs/testdiff/testdiff.go:22
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:1341
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:1082
        	            				/home/runner/work/cli/cli/acceptance/acceptance_test.go:659
        	Error:      	Not equal: 
        	            	expected: "\n>>> [CLI] bundle validate\nName: test-bundle\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default\n\nValidation OK!\n\n>>> [CLI] bundle plan -o json\n{\n  \"pause_status\": \"UNPAUSED\",\n  \"quartz_cron_expression\": \"0 0 * * * ?\",\n  \"timezone_id\": \"UTC\"\n}\n"
        	            	actual  : "\n>>> [CLI] bundle validate\nError: expected a map to index \"pause_status\", found string\n\nName: test-bundle\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default\n\nFound 1 error\n\nExit code: 1\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,2 +2,4 @@
        	            	 >>> [CLI] bundle validate
        	            	+Error: expected a map to index "pause_status", found string
        	            	+
        	            	 Name: test-bundle
        	            	@@ -8,10 +10,5 @@
        	            	 
        	            	-Validation OK!
        	            	+Found 1 error
        	            	 
        	            	->>> [CLI] bundle plan -o json
        	            	-{
        	            	-  "pause_status": "UNPAUSED",
        	            	-  "quartz_cron_expression": "0 0 * * * ?",
        	            	-  "timezone_id": "UTC"
        	            	-}
        	            	+Exit code: 1
        	            	 
        	Test:       	TestAccept/bundle/validate/references/job_schedule_whole_reference/DMS=true
        	Messages:   	bundle/validate/references/job_schedule_whole_reference/output.txt vs /tmp/TestAcceptbundlevalidatereferencesjob_schedule_whole_referen1220198865/002/output.txt

@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: faae0bc

Run: 40723909566

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 281 16 5:21
✅​ aws-windows-latest-4core-16gb 283 14 4:38
✅​ azure linux-2core-8gb 280 16 5:23
✅​ azure-windows-latest-4core-16gb 282 14 4:41
✅​ gcp linux-2core-8gb 281 16 5:36
✅​ gcp-windows-latest-4core-16gb 283 14 4:30
Top 6 slowest tests (at least 2 minutes):
duration env testname
4:37 azure-windows-latest-4core-16gb TestAccept
4:33 aws-windows-latest-4core-16gb TestAccept
3:48 azure linux-2core-8gb TestAccept
3:46 aws linux-2core-8gb TestAccept
3:44 gcp linux-2core-8gb TestAccept
3:19 gcp-windows-latest-4core-16gb TestAccept

@denik
denik force-pushed the denik/fix-defaults-whole-reference branch from b7a1880 to 1ec962d Compare October 28, 2026 15:16
@denik
denik force-pushed the denik/fix-required-skip-reference branch from c32166c to 1930bc7 Compare October 28, 2026 15:16
@denik
denik marked this pull request as ready for review October 28, 2026 15:23
@denik
denik requested review from a team as code owners October 28, 2026 15:23
Base automatically changed from denik/fix-defaults-whole-reference to main October 28, 2026 15:52
denik and others added 2 commits October 28, 2026 17:11
warnForMissingFields reported every required field of e.g. a schedule as not set
when the schedule was "${resources.jobs.base.schedule}". The referenced value is
checked where it is defined.

Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
@denik
denik force-pushed the denik/fix-required-skip-reference branch from 1930bc7 to faae0bc Compare October 28, 2026 16:12
@github-actions github-actions Bot added the DABs DABs related issues label Oct 28, 2026
@denik
denik added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 634cea7 Oct 28, 2026
28 checks passed
@denik
denik deleted the denik/fix-required-skip-reference branch October 28, 2026 18:19
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 634cea7

Run: 40744105374

Env 🔄​flaky ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 1499 1227 141:29
✅​ aws-windows-latest-4core-16gb 1424 1252 159:42
🔄​ azure linux-2core-8gb 2 1344 1279 112:17
✅​ azure-windows-latest-4core-16gb 1271 1304 119:07
✅​ gcp linux-2core-8gb 1333 1284 125:47
✅​ gcp-windows-latest-4core-16gb 1258 1309 134:54
Test Name azure linux-2core-8gb
🔄​ TestFsCpFileToDir 🔄​f
🔄​ TestFsCpFileToDir/uc-volumes_to_local 🔄​f
Top 50 slowest tests (at least 2 minutes):
duration env testname
16:34 aws linux-2core-8gb TestAccept/bundle/deploy/spark-jar-task/DMS=true
15:26 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
15:12 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
15:10 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
13:37 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
13:27 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
12:06 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
11:51 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
11:37 gcp linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
9:23 gcp linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
9:03 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=
8:51 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
8:41 aws linux-2core-8gb TestAccept/bundle/deploy/spark-jar-task/DMS=
8:25 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=
8:19 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
8:05 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
7:32 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
7:24 aws linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/update-after-create/DMS=
7:10 gcp linux-2core-8gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
7:10 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=true
7:09 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=true
7:07 aws-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
7:06 aws-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:05 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
7:04 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=true
7:02 azure-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:01 aws linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
7:01 gcp linux-2core-8gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=
7:00 aws linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:00 azure-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
6:59 aws linux-2core-8gb TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=true
6:57 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
6:56 aws linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
6:48 azure linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
6:48 gcp linux-2core-8gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=
6:48 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/deploy/update-after-create/DMS=
6:44 aws linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
6:42 aws linux-2core-8gb TestAccept/bundle/invariant/delete_idempotent/DMS=/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=
6:40 azure linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
6:31 azure linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
6:30 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
6:10 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started-toggle/DMS=
6:10 gcp linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
6:07 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/deploy/simple/DMS=
6:05 gcp linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
5:21 azure linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
5:19 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
5:13 aws-windows-latest-4core-16gb TestAccept/bundle/deploy/spark-jar-task/DMS=true
5:09 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/delete_idempotent/DMS=/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
5:07 aws-windows-latest-4core-16gb TestAccept/bundle/deploy/spark-jar-task/DMS=

denik added a commit that referenced this pull request Oct 29, 2026
Port of #7226 to the generated walker: a value that is a pure reference has
no fields of its own, the referenced value is checked where it is defined.

Co-authored-by: Isaac <no-reply@databricks.com>
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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DABs DABs related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants