From a02b6c0cc174abae12041197bdbca45badf5084c Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Mon, 12 Oct 2026 17:12:23 +0200 Subject: [PATCH 1/8] acc: record config edge cases for variables, YAML merge keys and diagnostic locations Co-authored-by: Isaac --- .../bundle/run/job-ref-job-id/databricks.yml | 13 ++++++ .../bundle/run/job-ref-job-id/out.test.toml | 2 + .../bundle/run/job-ref-job-id/output.txt | 14 +++++++ acceptance/bundle/run/job-ref-job-id/script | 5 +++ .../bundle/run/job-ref-job-id/test.toml | 3 ++ .../complex_variable_default_merge/a.yml | 6 +++ .../complex_variable_default_merge/b.yml | 5 +++ .../databricks.yml | 6 +++ .../out.test.toml | 2 + .../complex_variable_default_merge/output.txt | 15 +++++++ .../complex_variable_default_merge/script | 1 + .../compute_id_location/databricks.yml | 9 ++++ .../compute_id_location/out.test.toml | 2 + .../validate/compute_id_location/output.txt | 36 ++++++++++++++++ .../validate/compute_id_location/script | 5 +++ .../databricks.yml | 14 +++++++ .../dashboard_key_special_chars/out.test.toml | 2 + .../dashboard_key_special_chars/output.txt | 38 +++++++++++++++++ .../dashboard_key_special_chars/script | 2 + .../databricks.yml | 21 ++++++++++ .../override_effective_location/out.test.toml | 2 + .../override_effective_location/output.txt | 42 +++++++++++++++++++ .../override_effective_location/script | 8 ++++ .../databricks.yml | 11 +++++ .../out.test.toml | 2 + .../pipeline_development_reference/output.txt | 18 ++++++++ .../pipeline_development_reference/script | 4 ++ .../databricks.yml | 13 ++++++ .../out.test.toml | 2 + .../output.txt | 6 +++ .../target_variable_full_def_merge_key/script | 1 + .../databricks.yml | 16 +++++++ .../out.test.toml | 2 + .../output.txt | 8 ++++ .../script | 1 + .../databricks.yml | 22 ++++++++++ .../out.test.toml | 2 + .../output.txt | 20 +++++++++ .../target_variable_shorthand_alias/script | 1 + .../task_source_empty_string/databricks.yml | 16 +++++++ .../task_source_empty_string/out.test.toml | 2 + .../task_source_empty_string/output.txt | 10 +++++ .../validate/task_source_empty_string/script | 1 + .../bundle/default/variable-overrides.json | 13 ++++++ .../.gitignore | 1 + .../databricks.yml | 17 ++++++++ .../out.test.toml | 2 + .../output.txt | 20 +++++++++ .../script | 1 + .../src/lib.whl | 0 .../src/main.py | 1 + .../yaml_anchor_cycle_nested/databricks.yml | 8 ++++ .../yaml_anchor_cycle_nested/out.test.toml | 2 + .../yaml_anchor_cycle_nested/output.txt | 8 ++++ .../validate/yaml_anchor_cycle_nested/script | 1 + 55 files changed, 485 insertions(+) create mode 100644 acceptance/bundle/run/job-ref-job-id/databricks.yml create mode 100644 acceptance/bundle/run/job-ref-job-id/out.test.toml create mode 100644 acceptance/bundle/run/job-ref-job-id/output.txt create mode 100644 acceptance/bundle/run/job-ref-job-id/script create mode 100644 acceptance/bundle/run/job-ref-job-id/test.toml create mode 100644 acceptance/bundle/validate/complex_variable_default_merge/a.yml create mode 100644 acceptance/bundle/validate/complex_variable_default_merge/b.yml create mode 100644 acceptance/bundle/validate/complex_variable_default_merge/databricks.yml create mode 100644 acceptance/bundle/validate/complex_variable_default_merge/out.test.toml create mode 100644 acceptance/bundle/validate/complex_variable_default_merge/output.txt create mode 100644 acceptance/bundle/validate/complex_variable_default_merge/script create mode 100644 acceptance/bundle/validate/compute_id_location/databricks.yml create mode 100644 acceptance/bundle/validate/compute_id_location/out.test.toml create mode 100644 acceptance/bundle/validate/compute_id_location/output.txt create mode 100644 acceptance/bundle/validate/compute_id_location/script create mode 100644 acceptance/bundle/validate/dashboard_key_special_chars/databricks.yml create mode 100644 acceptance/bundle/validate/dashboard_key_special_chars/out.test.toml create mode 100644 acceptance/bundle/validate/dashboard_key_special_chars/output.txt create mode 100644 acceptance/bundle/validate/dashboard_key_special_chars/script create mode 100644 acceptance/bundle/validate/override_effective_location/databricks.yml create mode 100644 acceptance/bundle/validate/override_effective_location/out.test.toml create mode 100644 acceptance/bundle/validate/override_effective_location/output.txt create mode 100644 acceptance/bundle/validate/override_effective_location/script create mode 100644 acceptance/bundle/validate/pipeline_development_reference/databricks.yml create mode 100644 acceptance/bundle/validate/pipeline_development_reference/out.test.toml create mode 100644 acceptance/bundle/validate/pipeline_development_reference/output.txt create mode 100644 acceptance/bundle/validate/pipeline_development_reference/script create mode 100644 acceptance/bundle/validate/target_variable_full_def_merge_key/databricks.yml create mode 100644 acceptance/bundle/validate/target_variable_full_def_merge_key/out.test.toml create mode 100644 acceptance/bundle/validate/target_variable_full_def_merge_key/output.txt create mode 100644 acceptance/bundle/validate/target_variable_full_def_merge_key/script create mode 100644 acceptance/bundle/validate/target_variable_merge_key_precedence/databricks.yml create mode 100644 acceptance/bundle/validate/target_variable_merge_key_precedence/out.test.toml create mode 100644 acceptance/bundle/validate/target_variable_merge_key_precedence/output.txt create mode 100644 acceptance/bundle/validate/target_variable_merge_key_precedence/script create mode 100644 acceptance/bundle/validate/target_variable_shorthand_alias/databricks.yml create mode 100644 acceptance/bundle/validate/target_variable_shorthand_alias/out.test.toml create mode 100644 acceptance/bundle/validate/target_variable_shorthand_alias/output.txt create mode 100644 acceptance/bundle/validate/target_variable_shorthand_alias/script create mode 100644 acceptance/bundle/validate/task_source_empty_string/databricks.yml create mode 100644 acceptance/bundle/validate/task_source_empty_string/out.test.toml create mode 100644 acceptance/bundle/validate/task_source_empty_string/output.txt create mode 100644 acceptance/bundle/validate/task_source_empty_string/script create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/.databricks/bundle/default/variable-overrides.json create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/.gitignore create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/databricks.yml create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/out.test.toml create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/output.txt create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/script create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/src/lib.whl create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/src/main.py create mode 100644 acceptance/bundle/validate/yaml_anchor_cycle_nested/databricks.yml create mode 100644 acceptance/bundle/validate/yaml_anchor_cycle_nested/out.test.toml create mode 100644 acceptance/bundle/validate/yaml_anchor_cycle_nested/output.txt create mode 100644 acceptance/bundle/validate/yaml_anchor_cycle_nested/script diff --git a/acceptance/bundle/run/job-ref-job-id/databricks.yml b/acceptance/bundle/run/job-ref-job-id/databricks.yml new file mode 100644 index 00000000000..3b06625845f --- /dev/null +++ b/acceptance/bundle/run/job-ref-job-id/databricks.yml @@ -0,0 +1,13 @@ +bundle: + name: test-bundle + +resources: + jobs: + bar: + name: job bar + foo: + name: job foo + tasks: + - task_key: job_task + run_job_task: + job_id: ${resources.jobs.bar.id} diff --git a/acceptance/bundle/run/job-ref-job-id/out.test.toml b/acceptance/bundle/run/job-ref-job-id/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/run/job-ref-job-id/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/run/job-ref-job-id/output.txt b/acceptance/bundle/run/job-ref-job-id/output.txt new file mode 100644 index 00000000000..570e4b56af2 --- /dev/null +++ b/acceptance/bundle/run/job-ref-job-id/output.txt @@ -0,0 +1,14 @@ + +>>> [CLI] bundle deploy +Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files... +Created jobs.bar +Created jobs.foo +Files: 1 uploaded, 0 deleted +Resources: 2 created, 0 changed, 0 deleted, 0 unchanged + +=== run resolves the referenced job id into the int job_id field +>>> [CLI] bundle run foo +Run URL: [DATABRICKS_URL]/jobs/[FOO_ID]/runs/[RUN_ID]?o=[WORKSPACE_ID] + +[TIMESTAMP] "job foo" RUNNING +[TIMESTAMP] "job foo" TERMINATED SUCCESS diff --git a/acceptance/bundle/run/job-ref-job-id/script b/acceptance/bundle/run/job-ref-job-id/script new file mode 100644 index 00000000000..cc3b902fa05 --- /dev/null +++ b/acceptance/bundle/run/job-ref-job-id/script @@ -0,0 +1,5 @@ +trace $CLI bundle deploy +replace_ids.py + +title "run resolves the referenced job id into the int job_id field" +trace $CLI bundle run foo diff --git a/acceptance/bundle/run/job-ref-job-id/test.toml b/acceptance/bundle/run/job-ref-job-id/test.toml new file mode 100644 index 00000000000..3c887dd20bf --- /dev/null +++ b/acceptance/bundle/run/job-ref-job-id/test.toml @@ -0,0 +1,3 @@ +[[Repls]] +Old = '/runs/\d+' +New = '/runs/[RUN_ID]' diff --git a/acceptance/bundle/validate/complex_variable_default_merge/a.yml b/acceptance/bundle/validate/complex_variable_default_merge/a.yml new file mode 100644 index 00000000000..1022dfa415f --- /dev/null +++ b/acceptance/bundle/validate/complex_variable_default_merge/a.yml @@ -0,0 +1,6 @@ +variables: + libs: + type: complex + default: + - one + - two diff --git a/acceptance/bundle/validate/complex_variable_default_merge/b.yml b/acceptance/bundle/validate/complex_variable_default_merge/b.yml new file mode 100644 index 00000000000..b455cc0fe07 --- /dev/null +++ b/acceptance/bundle/validate/complex_variable_default_merge/b.yml @@ -0,0 +1,5 @@ +variables: + libs: + type: complex + default: + - three diff --git a/acceptance/bundle/validate/complex_variable_default_merge/databricks.yml b/acceptance/bundle/validate/complex_variable_default_merge/databricks.yml new file mode 100644 index 00000000000..e125367ca46 --- /dev/null +++ b/acceptance/bundle/validate/complex_variable_default_merge/databricks.yml @@ -0,0 +1,6 @@ +bundle: + name: test-bundle + +include: + - a.yml + - b.yml diff --git a/acceptance/bundle/validate/complex_variable_default_merge/out.test.toml b/acceptance/bundle/validate/complex_variable_default_merge/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/complex_variable_default_merge/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/complex_variable_default_merge/output.txt b/acceptance/bundle/validate/complex_variable_default_merge/output.txt new file mode 100644 index 00000000000..f6b13647c94 --- /dev/null +++ b/acceptance/bundle/validate/complex_variable_default_merge/output.txt @@ -0,0 +1,15 @@ + +>>> [CLI] bundle validate -o json +{ + "default": [ + "one", + "two", + "three" + ], + "type": "complex", + "value": [ + "one", + "two", + "three" + ] +} diff --git a/acceptance/bundle/validate/complex_variable_default_merge/script b/acceptance/bundle/validate/complex_variable_default_merge/script new file mode 100644 index 00000000000..f7e09655323 --- /dev/null +++ b/acceptance/bundle/validate/complex_variable_default_merge/script @@ -0,0 +1 @@ +trace $CLI bundle validate -o json | jq .variables.libs diff --git a/acceptance/bundle/validate/compute_id_location/databricks.yml b/acceptance/bundle/validate/compute_id_location/databricks.yml new file mode 100644 index 00000000000..b6a32c6c39c --- /dev/null +++ b/acceptance/bundle/validate/compute_id_location/databricks.yml @@ -0,0 +1,9 @@ +bundle: + name: test-bundle + compute_id: root-cluster + +targets: + dev: + compute_id: dev-cluster + other: + default: true diff --git a/acceptance/bundle/validate/compute_id_location/out.test.toml b/acceptance/bundle/validate/compute_id_location/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/compute_id_location/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/compute_id_location/output.txt b/acceptance/bundle/validate/compute_id_location/output.txt new file mode 100644 index 00000000000..d8d3966b1d7 --- /dev/null +++ b/acceptance/bundle/validate/compute_id_location/output.txt @@ -0,0 +1,36 @@ + +=== default target without compute_id +>>> [CLI] bundle validate +Warning: compute_id is deprecated, please use cluster_id instead + at bundle.compute_id + in databricks.yml:3:15 + +Warning: compute_id is deprecated, please use cluster_id instead + at compute_id + in databricks.yml:7:17 + +Name: test-bundle +Target: other +Workspace: + User: [USERNAME] + Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/other + +Found 2 warnings + +=== target with compute_id +>>> [CLI] bundle validate -t dev +Warning: compute_id is deprecated, please use cluster_id instead + at bundle.compute_id + in databricks.yml:3:15 + +Warning: compute_id is deprecated, please use cluster_id instead + at compute_id + in databricks.yml:7:17 + +Name: test-bundle +Target: dev +Workspace: + User: [USERNAME] + Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/dev + +Found 2 warnings diff --git a/acceptance/bundle/validate/compute_id_location/script b/acceptance/bundle/validate/compute_id_location/script new file mode 100644 index 00000000000..44c1cf2f4ba --- /dev/null +++ b/acceptance/bundle/validate/compute_id_location/script @@ -0,0 +1,5 @@ +title "default target without compute_id" +trace $CLI bundle validate + +title "target with compute_id" +trace $CLI bundle validate -t dev diff --git a/acceptance/bundle/validate/dashboard_key_special_chars/databricks.yml b/acceptance/bundle/validate/dashboard_key_special_chars/databricks.yml new file mode 100644 index 00000000000..b052b780d11 --- /dev/null +++ b/acceptance/bundle/validate/dashboard_key_special_chars/databricks.yml @@ -0,0 +1,14 @@ +bundle: + name: test-bundle + +targets: + bracket: + resources: + dashboards: + "reports[": + serialized_dashboard: "{}" + comma: + resources: + dashboards: + "a,b": + serialized_dashboard: "{}" diff --git a/acceptance/bundle/validate/dashboard_key_special_chars/out.test.toml b/acceptance/bundle/validate/dashboard_key_special_chars/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/dashboard_key_special_chars/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/dashboard_key_special_chars/output.txt b/acceptance/bundle/validate/dashboard_key_special_chars/output.txt new file mode 100644 index 00000000000..7c66843a334 --- /dev/null +++ b/acceptance/bundle/validate/dashboard_key_special_chars/output.txt @@ -0,0 +1,38 @@ + +>>> [CLI] bundle validate -t bracket +Error: dashboard display_name is required + at resources.dashboards['reports['] + in databricks.yml:9:11 + +Error: dashboard warehouse_id is required + at resources.dashboards['reports['] + in databricks.yml:9:11 + +Name: test-bundle +Target: bracket +Workspace: + User: [USERNAME] + Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/bracket + +Found 2 errors + +Exit code: 1 + +>>> [CLI] bundle validate -t comma +Error: dashboard display_name is required + at resources.dashboards['a,b'] + in databricks.yml:14:11 + +Error: dashboard warehouse_id is required + at resources.dashboards['a,b'] + in databricks.yml:14:11 + +Name: test-bundle +Target: comma +Workspace: + User: [USERNAME] + Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/comma + +Found 2 errors + +Exit code: 1 diff --git a/acceptance/bundle/validate/dashboard_key_special_chars/script b/acceptance/bundle/validate/dashboard_key_special_chars/script new file mode 100644 index 00000000000..82143d3bdf9 --- /dev/null +++ b/acceptance/bundle/validate/dashboard_key_special_chars/script @@ -0,0 +1,2 @@ +errcode trace $CLI bundle validate -t bracket +errcode trace $CLI bundle validate -t comma diff --git a/acceptance/bundle/validate/override_effective_location/databricks.yml b/acceptance/bundle/validate/override_effective_location/databricks.yml new file mode 100644 index 00000000000..65bb7a5bd13 --- /dev/null +++ b/acceptance/bundle/validate/override_effective_location/databricks.yml @@ -0,0 +1,21 @@ +bundle: + name: test-bundle + engine: direct + +presets: + trigger_pause_status: PAUSED + name_prefix: "${workspace.current_user.short_name}_" + +targets: + bad_engine: + bundle: + engine: invalid_value + dev_trigger: + mode: development + default: true + presets: + trigger_pause_status: UNPAUSED + dev_prefix: + mode: development + presets: + name_prefix: nouser_ diff --git a/acceptance/bundle/validate/override_effective_location/out.test.toml b/acceptance/bundle/validate/override_effective_location/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/override_effective_location/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/override_effective_location/output.txt b/acceptance/bundle/validate/override_effective_location/output.txt new file mode 100644 index 00000000000..e3fa5193367 --- /dev/null +++ b/acceptance/bundle/validate/override_effective_location/output.txt @@ -0,0 +1,42 @@ + +=== engine overridden in target +>>> [CLI] bundle validate -t bad_engine +Error: invalid value "invalid_value" for bundle.engine (expected "direct") + in databricks.yml:12:15 + +Name: test-bundle +Target: bad_engine + +Found 1 error + +Exit code: 1 + +=== trigger_pause_status overridden in development target +>>> [CLI] bundle validate -t dev_trigger +Error: target with 'mode: development' cannot set trigger pause status to UNPAUSED by default + in databricks.yml:17:29 + +Name: test-bundle +Target: dev_trigger +Workspace: + User: [USERNAME] + Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/dev_trigger + +Found 1 error + +Exit code: 1 + +=== name_prefix overridden in development target +>>> [CLI] bundle validate -t dev_prefix +Error: prefix should contain the current username or ${workspace.current_user.short_name} to ensure uniqueness when using 'mode: development' + in databricks.yml:21:20 + +Name: test-bundle +Target: dev_prefix +Workspace: + User: [USERNAME] + Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/dev_prefix + +Found 1 error + +Exit code: 1 diff --git a/acceptance/bundle/validate/override_effective_location/script b/acceptance/bundle/validate/override_effective_location/script new file mode 100644 index 00000000000..b3ebee43c0f --- /dev/null +++ b/acceptance/bundle/validate/override_effective_location/script @@ -0,0 +1,8 @@ +title "engine overridden in target" +errcode trace $CLI bundle validate -t bad_engine + +title "trigger_pause_status overridden in development target" +errcode trace $CLI bundle validate -t dev_trigger + +title "name_prefix overridden in development target" +errcode trace $CLI bundle validate -t dev_prefix diff --git a/acceptance/bundle/validate/pipeline_development_reference/databricks.yml b/acceptance/bundle/validate/pipeline_development_reference/databricks.yml new file mode 100644 index 00000000000..44e59779800 --- /dev/null +++ b/acceptance/bundle/validate/pipeline_development_reference/databricks.yml @@ -0,0 +1,11 @@ +bundle: + name: test-bundle + +resources: + pipelines: + other: + name: other + development: true + main: + name: main + development: ${resources.pipelines.other.development} diff --git a/acceptance/bundle/validate/pipeline_development_reference/out.test.toml b/acceptance/bundle/validate/pipeline_development_reference/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/pipeline_development_reference/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/pipeline_development_reference/output.txt b/acceptance/bundle/validate/pipeline_development_reference/output.txt new file mode 100644 index 00000000000..1290f12ed9f --- /dev/null +++ b/acceptance/bundle/validate/pipeline_development_reference/output.txt @@ -0,0 +1,18 @@ + + + + + Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default + User: [USERNAME] + at resources.pipelines.main.development + at resources.pipelines.other.development + in databricks.yml:11:20 + in databricks.yml:8:20 +>>> [CLI] bundle validate +Found 2 warnings +Name: test-bundle +Target: default +Warning: The "development" property of pipelines is deprecated. Use "mode: development" in your databricks.yml instead. See https://docs.databricks.com/dev-tools/bundles/deployment-modes. +Warning: The "development" property of pipelines is deprecated. Use "mode: development" in your databricks.yml instead. See https://docs.databricks.com/dev-tools/bundles/deployment-modes. +Workspace: +"${resources.pipelines.other.development}" diff --git a/acceptance/bundle/validate/pipeline_development_reference/script b/acceptance/bundle/validate/pipeline_development_reference/script new file mode 100644 index 00000000000..925ea9ddfa1 --- /dev/null +++ b/acceptance/bundle/validate/pipeline_development_reference/script @@ -0,0 +1,4 @@ +# Warning order is not deterministic, so sort the output lines. +trace $CLI bundle validate 2>&1 | sort + +trace $CLI bundle validate -o json 2>/dev/null | jq .resources.pipelines.main.development diff --git a/acceptance/bundle/validate/target_variable_full_def_merge_key/databricks.yml b/acceptance/bundle/validate/target_variable_full_def_merge_key/databricks.yml new file mode 100644 index 00000000000..f7bac987ac3 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_full_def_merge_key/databricks.yml @@ -0,0 +1,13 @@ +bundle: + name: test-bundle + +variables: + x: &x + default: old + +targets: + dev: + variables: + x: + <<: *x + default: new diff --git a/acceptance/bundle/validate/target_variable_full_def_merge_key/out.test.toml b/acceptance/bundle/validate/target_variable_full_def_merge_key/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_full_def_merge_key/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/target_variable_full_def_merge_key/output.txt b/acceptance/bundle/validate/target_variable_full_def_merge_key/output.txt new file mode 100644 index 00000000000..d9ce0976398 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_full_def_merge_key/output.txt @@ -0,0 +1,6 @@ + +>>> [CLI] bundle validate -t dev -o json +{ + "default": "new", + "value": "new" +} diff --git a/acceptance/bundle/validate/target_variable_full_def_merge_key/script b/acceptance/bundle/validate/target_variable_full_def_merge_key/script new file mode 100644 index 00000000000..9f33dba3103 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_full_def_merge_key/script @@ -0,0 +1 @@ +trace $CLI bundle validate -t dev -o json | jq .variables.x diff --git a/acceptance/bundle/validate/target_variable_merge_key_precedence/databricks.yml b/acceptance/bundle/validate/target_variable_merge_key_precedence/databricks.yml new file mode 100644 index 00000000000..d4e45925b2d --- /dev/null +++ b/acceptance/bundle/validate/target_variable_merge_key_precedence/databricks.yml @@ -0,0 +1,16 @@ +bundle: + name: test-bundle + +variables: + x: + +definitions: + a: &a + x: from-a + b: &b + x: from-b + +targets: + dev: + variables: + <<: [*a, *b] diff --git a/acceptance/bundle/validate/target_variable_merge_key_precedence/out.test.toml b/acceptance/bundle/validate/target_variable_merge_key_precedence/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_merge_key_precedence/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/target_variable_merge_key_precedence/output.txt b/acceptance/bundle/validate/target_variable_merge_key_precedence/output.txt new file mode 100644 index 00000000000..e8bc246c483 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_merge_key_precedence/output.txt @@ -0,0 +1,8 @@ + +>>> [CLI] bundle validate -t dev -o json +{ + "x": { + "default": "from-b", + "value": "from-b" + } +} diff --git a/acceptance/bundle/validate/target_variable_merge_key_precedence/script b/acceptance/bundle/validate/target_variable_merge_key_precedence/script new file mode 100644 index 00000000000..ab024d811b0 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_merge_key_precedence/script @@ -0,0 +1 @@ +trace $CLI bundle validate -t dev -o json | jq .variables diff --git a/acceptance/bundle/validate/target_variable_shorthand_alias/databricks.yml b/acceptance/bundle/validate/target_variable_shorthand_alias/databricks.yml new file mode 100644 index 00000000000..dab70888e89 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_shorthand_alias/databricks.yml @@ -0,0 +1,22 @@ +bundle: + name: test-bundle + +variables: + env: + region: + size: + other: + +definitions: + dev_env: &dev "dev-value" + common: &common + region: us-east-1 + size: small + +targets: + dev: + variables: + env: *dev + <<: *common + size: large + other: plain diff --git a/acceptance/bundle/validate/target_variable_shorthand_alias/out.test.toml b/acceptance/bundle/validate/target_variable_shorthand_alias/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_shorthand_alias/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/target_variable_shorthand_alias/output.txt b/acceptance/bundle/validate/target_variable_shorthand_alias/output.txt new file mode 100644 index 00000000000..73f378fee1c --- /dev/null +++ b/acceptance/bundle/validate/target_variable_shorthand_alias/output.txt @@ -0,0 +1,20 @@ + +>>> [CLI] bundle validate -t dev -o json +{ + "env": { + "default": "dev-value", + "value": "dev-value" + }, + "other": { + "default": "plain", + "value": "plain" + }, + "region": { + "default": "us-east-1", + "value": "us-east-1" + }, + "size": { + "default": "large", + "value": "large" + } +} diff --git a/acceptance/bundle/validate/target_variable_shorthand_alias/script b/acceptance/bundle/validate/target_variable_shorthand_alias/script new file mode 100644 index 00000000000..ab024d811b0 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_shorthand_alias/script @@ -0,0 +1 @@ +trace $CLI bundle validate -t dev -o json | jq .variables diff --git a/acceptance/bundle/validate/task_source_empty_string/databricks.yml b/acceptance/bundle/validate/task_source_empty_string/databricks.yml new file mode 100644 index 00000000000..03e95eb7307 --- /dev/null +++ b/acceptance/bundle/validate/task_source_empty_string/databricks.yml @@ -0,0 +1,16 @@ +bundle: + name: test-bundle + +resources: + jobs: + my_job: + name: my job + git_source: + git_url: https://github.com/databricks/cli + git_provider: gitHub + git_branch: main + tasks: + - task_key: main + notebook_task: + notebook_path: ./notebook + source: "" diff --git a/acceptance/bundle/validate/task_source_empty_string/out.test.toml b/acceptance/bundle/validate/task_source_empty_string/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/task_source_empty_string/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/task_source_empty_string/output.txt b/acceptance/bundle/validate/task_source_empty_string/output.txt new file mode 100644 index 00000000000..997343d5302 --- /dev/null +++ b/acceptance/bundle/validate/task_source_empty_string/output.txt @@ -0,0 +1,10 @@ + +>>> [CLI] bundle validate -o json +[ + { + "notebook_task": { + "notebook_path": "./notebook" + }, + "task_key": "main" + } +] diff --git a/acceptance/bundle/validate/task_source_empty_string/script b/acceptance/bundle/validate/task_source_empty_string/script new file mode 100644 index 00000000000..b6b3d99b901 --- /dev/null +++ b/acceptance/bundle/validate/task_source_empty_string/script @@ -0,0 +1 @@ +trace $CLI bundle validate -o json | jq .resources.jobs.my_job.tasks diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/.databricks/bundle/default/variable-overrides.json b/acceptance/bundle/validate/variable_overrides_file_complex_path/.databricks/bundle/default/variable-overrides.json new file mode 100644 index 00000000000..c082af10a3e --- /dev/null +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/.databricks/bundle/default/variable-overrides.json @@ -0,0 +1,13 @@ +{ + "task": { + "task_key": "main", + "spark_python_task": { + "python_file": "./src/main.py" + }, + "libraries": [ + { + "whl": "./src/lib.whl" + } + ] + } +} diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/.gitignore b/acceptance/bundle/validate/variable_overrides_file_complex_path/.gitignore new file mode 100644 index 00000000000..bd1711fd16e --- /dev/null +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/.gitignore @@ -0,0 +1 @@ +!.databricks diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/databricks.yml b/acceptance/bundle/validate/variable_overrides_file_complex_path/databricks.yml new file mode 100644 index 00000000000..abeb913a709 --- /dev/null +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/databricks.yml @@ -0,0 +1,17 @@ +bundle: + name: test-bundle + +variables: + task: + type: complex + +resources: + jobs: + my_job: + name: my job + tasks: + - ${var.task} + +targets: + default: + default: true diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/out.test.toml b/acceptance/bundle/validate/variable_overrides_file_complex_path/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/output.txt b/acceptance/bundle/validate/variable_overrides_file_complex_path/output.txt new file mode 100644 index 00000000000..669f115e73c --- /dev/null +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/output.txt @@ -0,0 +1,20 @@ + +>>> [CLI] bundle validate -o json +Error: path src/main.py is defined relative to the [TEST_TMP_DIR] directory ([TEST_TMP_DIR]/.databricks/bundle/default/variable-overrides.json:5:37). Please update the path to be relative to the file where it is defined or use earlier version of CLI (0.261.0 or earlier). + in .databricks/bundle/default/variable-overrides.json:5:37 + + +Exit code: 1 +[ + { + "libraries": [ + { + "whl": ".databricks/bundle/default/src/lib.whl" + } + ], + "spark_python_task": { + "python_file": "/Workspace/Users/[USERNAME]/.bundle/test-bundle/default/files/src/main.py" + }, + "task_key": "main" + } +] diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/script b/acceptance/bundle/validate/variable_overrides_file_complex_path/script new file mode 100644 index 00000000000..f221682d046 --- /dev/null +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/script @@ -0,0 +1 @@ +errcode trace $CLI bundle validate -o json | jq '.resources.jobs.my_job.tasks' diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/src/lib.whl b/acceptance/bundle/validate/variable_overrides_file_complex_path/src/lib.whl new file mode 100644 index 00000000000..e69de29bb2d diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/src/main.py b/acceptance/bundle/validate/variable_overrides_file_complex_path/src/main.py new file mode 100644 index 00000000000..b80e3222ab2 --- /dev/null +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/src/main.py @@ -0,0 +1 @@ +print("hi") diff --git a/acceptance/bundle/validate/yaml_anchor_cycle_nested/databricks.yml b/acceptance/bundle/validate/yaml_anchor_cycle_nested/databricks.yml new file mode 100644 index 00000000000..41bfacdc5b5 --- /dev/null +++ b/acceptance/bundle/validate/yaml_anchor_cycle_nested/databricks.yml @@ -0,0 +1,8 @@ +bundle: + name: test-bundle + +variables: + v: + default: &x + a: + - *x diff --git a/acceptance/bundle/validate/yaml_anchor_cycle_nested/out.test.toml b/acceptance/bundle/validate/yaml_anchor_cycle_nested/out.test.toml new file mode 100644 index 00000000000..a927a5fbc06 --- /dev/null +++ b/acceptance/bundle/validate/yaml_anchor_cycle_nested/out.test.toml @@ -0,0 +1,2 @@ +Cloud = false +EnvMatrix.DMS = ["", "true"] diff --git a/acceptance/bundle/validate/yaml_anchor_cycle_nested/output.txt b/acceptance/bundle/validate/yaml_anchor_cycle_nested/output.txt new file mode 100644 index 00000000000..8226094673d --- /dev/null +++ b/acceptance/bundle/validate/yaml_anchor_cycle_nested/output.txt @@ -0,0 +1,8 @@ + +>>> [CLI] bundle validate +Error: failed to load [TEST_TMP_DIR]/databricks.yml: yaml ([TEST_TMP_DIR]/databricks.yml:8:11): cyclic reference to anchor "x" + + +Found 1 error + +Exit code: 1 diff --git a/acceptance/bundle/validate/yaml_anchor_cycle_nested/script b/acceptance/bundle/validate/yaml_anchor_cycle_nested/script new file mode 100644 index 00000000000..f52b452ee67 --- /dev/null +++ b/acceptance/bundle/validate/yaml_anchor_cycle_nested/script @@ -0,0 +1 @@ +errcode trace $CLI bundle validate From 45996eec4e6341267252f61a63cb138994fcbd4b Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Mon, 12 Oct 2026 17:14:23 +0200 Subject: [PATCH 2/8] acc: single pipeline warning in pipeline_development_reference (no sort) Co-authored-by: Isaac --- .../databricks.yml | 1 - .../pipeline_development_reference/output.txt | 20 ++++++++----------- .../pipeline_development_reference/script | 3 +-- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/acceptance/bundle/validate/pipeline_development_reference/databricks.yml b/acceptance/bundle/validate/pipeline_development_reference/databricks.yml index 44e59779800..59bf09ca3d5 100644 --- a/acceptance/bundle/validate/pipeline_development_reference/databricks.yml +++ b/acceptance/bundle/validate/pipeline_development_reference/databricks.yml @@ -5,7 +5,6 @@ resources: pipelines: other: name: other - development: true main: name: main development: ${resources.pipelines.other.development} diff --git a/acceptance/bundle/validate/pipeline_development_reference/output.txt b/acceptance/bundle/validate/pipeline_development_reference/output.txt index 1290f12ed9f..f808fa83528 100644 --- a/acceptance/bundle/validate/pipeline_development_reference/output.txt +++ b/acceptance/bundle/validate/pipeline_development_reference/output.txt @@ -1,18 +1,14 @@ - - - - Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default - User: [USERNAME] - at resources.pipelines.main.development - at resources.pipelines.other.development - in databricks.yml:11:20 - in databricks.yml:8:20 >>> [CLI] bundle validate -Found 2 warnings +Warning: The "development" property of pipelines is deprecated. Use "mode: development" in your databricks.yml instead. See https://docs.databricks.com/dev-tools/bundles/deployment-modes. + at resources.pipelines.main.development + in databricks.yml:10:20 + Name: test-bundle Target: default -Warning: The "development" property of pipelines is deprecated. Use "mode: development" in your databricks.yml instead. See https://docs.databricks.com/dev-tools/bundles/deployment-modes. -Warning: The "development" property of pipelines is deprecated. Use "mode: development" in your databricks.yml instead. See https://docs.databricks.com/dev-tools/bundles/deployment-modes. Workspace: + User: [USERNAME] + Path: /Workspace/Users/[USERNAME]/.bundle/test-bundle/default + +Found 1 warning "${resources.pipelines.other.development}" diff --git a/acceptance/bundle/validate/pipeline_development_reference/script b/acceptance/bundle/validate/pipeline_development_reference/script index 925ea9ddfa1..c72489ac254 100644 --- a/acceptance/bundle/validate/pipeline_development_reference/script +++ b/acceptance/bundle/validate/pipeline_development_reference/script @@ -1,4 +1,3 @@ -# Warning order is not deterministic, so sort the output lines. -trace $CLI bundle validate 2>&1 | sort +trace $CLI bundle validate trace $CLI bundle validate -o json 2>/dev/null | jq .resources.pipelines.main.development From 832e86552cf201d400ba6a1a889469a6995468b8 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Tue, 13 Oct 2026 11:27:31 +0200 Subject: [PATCH 3/8] acc: normalize Windows path separators in two new tests Co-authored-by: Isaac --- .../validate/variable_overrides_file_complex_path/test.toml | 3 +++ acceptance/bundle/validate/yaml_anchor_cycle_nested/test.toml | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/test.toml create mode 100644 acceptance/bundle/validate/yaml_anchor_cycle_nested/test.toml diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/test.toml b/acceptance/bundle/validate/variable_overrides_file_complex_path/test.toml new file mode 100644 index 00000000000..a298217f218 --- /dev/null +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/test.toml @@ -0,0 +1,3 @@ +[[Repls]] +Old = '\\' +New = '/' diff --git a/acceptance/bundle/validate/yaml_anchor_cycle_nested/test.toml b/acceptance/bundle/validate/yaml_anchor_cycle_nested/test.toml new file mode 100644 index 00000000000..a298217f218 --- /dev/null +++ b/acceptance/bundle/validate/yaml_anchor_cycle_nested/test.toml @@ -0,0 +1,3 @@ +[[Repls]] +Old = '\\' +New = '/' From 6e6bb75486b20300bffa54fa430f1ccef8c76b54 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Tue, 13 Oct 2026 11:58:59 +0200 Subject: [PATCH 4/8] acc: mark known-bad recorded behaviour with Badness Co-authored-by: Isaac --- acceptance/bundle/validate/compute_id_location/test.toml | 1 + .../validate/target_variable_merge_key_precedence/test.toml | 1 + .../validate/variable_overrides_file_complex_path/test.toml | 2 ++ 3 files changed, 4 insertions(+) create mode 100644 acceptance/bundle/validate/compute_id_location/test.toml create mode 100644 acceptance/bundle/validate/target_variable_merge_key_precedence/test.toml diff --git a/acceptance/bundle/validate/compute_id_location/test.toml b/acceptance/bundle/validate/compute_id_location/test.toml new file mode 100644 index 00000000000..d2d1c82e6d3 --- /dev/null +++ b/acceptance/bundle/validate/compute_id_location/test.toml @@ -0,0 +1 @@ +Badness = "Target-level compute_id is reported without the target in the path (at compute_id instead of at targets.dev.compute_id), and is reported even when that target is not selected." diff --git a/acceptance/bundle/validate/target_variable_merge_key_precedence/test.toml b/acceptance/bundle/validate/target_variable_merge_key_precedence/test.toml new file mode 100644 index 00000000000..5fba7c799c1 --- /dev/null +++ b/acceptance/bundle/validate/target_variable_merge_key_precedence/test.toml @@ -0,0 +1 @@ +Badness = "With <<: [*a, *b] the later anchor wins; the YAML merge key spec gives precedence to the earlier one." diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/test.toml b/acceptance/bundle/validate/variable_overrides_file_complex_path/test.toml index a298217f218..ca5df96f13e 100644 --- a/acceptance/bundle/validate/variable_overrides_file_complex_path/test.toml +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/test.toml @@ -1,3 +1,5 @@ +Badness = "Relative paths in variable-overrides.json resolve inconsistently: task files are resolved against the bundle root (with an error), libraries relative to the overrides file." + [[Repls]] Old = '\\' New = '/' From a010dd43bec5f678f90ee6a9d5f39aa227add3ae Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Wed, 14 Oct 2026 14:19:59 +0200 Subject: [PATCH 5/8] acc: check that foo's run_job_task points at bar's job id Co-authored-by: Isaac --- acceptance/bundle/run/job-ref-job-id/output.txt | 6 ++++++ acceptance/bundle/run/job-ref-job-id/script | 3 +++ 2 files changed, 9 insertions(+) diff --git a/acceptance/bundle/run/job-ref-job-id/output.txt b/acceptance/bundle/run/job-ref-job-id/output.txt index 570e4b56af2..b1c11ca57a2 100644 --- a/acceptance/bundle/run/job-ref-job-id/output.txt +++ b/acceptance/bundle/run/job-ref-job-id/output.txt @@ -6,6 +6,12 @@ Created jobs.foo Files: 1 uploaded, 0 deleted Resources: 2 created, 0 changed, 0 deleted, 0 unchanged +=== foo's task points at bar's job id +>>> [CLI] jobs get [FOO_ID] +{ + "job_id": [BAR_ID] +} + === run resolves the referenced job id into the int job_id field >>> [CLI] bundle run foo Run URL: [DATABRICKS_URL]/jobs/[FOO_ID]/runs/[RUN_ID]?o=[WORKSPACE_ID] diff --git a/acceptance/bundle/run/job-ref-job-id/script b/acceptance/bundle/run/job-ref-job-id/script index cc3b902fa05..49f312b9790 100644 --- a/acceptance/bundle/run/job-ref-job-id/script +++ b/acceptance/bundle/run/job-ref-job-id/script @@ -1,5 +1,8 @@ trace $CLI bundle deploy replace_ids.py +title "foo's task points at bar's job id" +trace $CLI jobs get $(read_id.py foo) | jq '.settings.tasks[0].run_job_task' + title "run resolves the referenced job id into the int job_id field" trace $CLI bundle run foo From 32c476aebd9e1294450fee5f7eb5c90292896003 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Wed, 14 Oct 2026 14:30:22 +0200 Subject: [PATCH 6/8] acc: explain dashboard_key_special_chars Co-authored-by: Isaac --- .../bundle/validate/dashboard_key_special_chars/script | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/acceptance/bundle/validate/dashboard_key_special_chars/script b/acceptance/bundle/validate/dashboard_key_special_chars/script index 82143d3bdf9..85c1fa07a03 100644 --- a/acceptance/bundle/validate/dashboard_key_special_chars/script +++ b/acceptance/bundle/validate/dashboard_key_special_chars/script @@ -1,2 +1,9 @@ +# Dashboards missing display_name / warehouse_id must be reported even when the +# resource key contains characters that are path syntax ("[", ","). The required-field +# check looks the dashboard up by path, so a key that does not survive being turned +# into a path string would silently drop these errors. +# +# Each key is in its own target: with both in one config the errors are reported in +# a nondeterministic order. errcode trace $CLI bundle validate -t bracket errcode trace $CLI bundle validate -t comma From 12d9d3eeffd465c78f4f14e907beaa13b38478a2 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Wed, 14 Oct 2026 14:41:11 +0200 Subject: [PATCH 7/8] acc: keep variable-overrides.json at the test root; move it in the script Co-authored-by: Isaac --- .../validate/variable_overrides_file_complex_path/.gitignore | 1 - .../bundle/validate/variable_overrides_file_complex_path/script | 2 ++ .../{.databricks/bundle/default => }/variable-overrides.json | 0 3 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 acceptance/bundle/validate/variable_overrides_file_complex_path/.gitignore rename acceptance/bundle/validate/variable_overrides_file_complex_path/{.databricks/bundle/default => }/variable-overrides.json (100%) diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/.gitignore b/acceptance/bundle/validate/variable_overrides_file_complex_path/.gitignore deleted file mode 100644 index bd1711fd16e..00000000000 --- a/acceptance/bundle/validate/variable_overrides_file_complex_path/.gitignore +++ /dev/null @@ -1 +0,0 @@ -!.databricks diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/script b/acceptance/bundle/validate/variable_overrides_file_complex_path/script index f221682d046..ade57be3b05 100644 --- a/acceptance/bundle/validate/variable_overrides_file_complex_path/script +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/script @@ -1 +1,3 @@ +mkdir -p .databricks/bundle/default +mv variable-overrides.json .databricks/bundle/default/ errcode trace $CLI bundle validate -o json | jq '.resources.jobs.my_job.tasks' diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/.databricks/bundle/default/variable-overrides.json b/acceptance/bundle/validate/variable_overrides_file_complex_path/variable-overrides.json similarity index 100% rename from acceptance/bundle/validate/variable_overrides_file_complex_path/.databricks/bundle/default/variable-overrides.json rename to acceptance/bundle/validate/variable_overrides_file_complex_path/variable-overrides.json From cd981bca51541fa4fa6209b836ca89b427e984b4 Mon Sep 17 00:00:00 2001 From: Denis Bilenko Date: Wed, 14 Oct 2026 15:07:47 +0200 Subject: [PATCH 8/8] acc: give the overrides test task a cluster so only path handling is recorded Co-authored-by: Isaac --- .../validate/variable_overrides_file_complex_path/output.txt | 5 +++-- .../variable-overrides.json | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/output.txt b/acceptance/bundle/validate/variable_overrides_file_complex_path/output.txt index 669f115e73c..87fb1b3b20b 100644 --- a/acceptance/bundle/validate/variable_overrides_file_complex_path/output.txt +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/output.txt @@ -1,12 +1,13 @@ >>> [CLI] bundle validate -o json -Error: path src/main.py is defined relative to the [TEST_TMP_DIR] directory ([TEST_TMP_DIR]/.databricks/bundle/default/variable-overrides.json:5:37). Please update the path to be relative to the file where it is defined or use earlier version of CLI (0.261.0 or earlier). - in .databricks/bundle/default/variable-overrides.json:5:37 +Error: path src/main.py is defined relative to the [TEST_TMP_DIR] directory ([TEST_TMP_DIR]/.databricks/bundle/default/variable-overrides.json:6:37). Please update the path to be relative to the file where it is defined or use earlier version of CLI (0.261.0 or earlier). + in .databricks/bundle/default/variable-overrides.json:6:37 Exit code: 1 [ { + "existing_cluster_id": "0123-456789-abcdefgh", "libraries": [ { "whl": ".databricks/bundle/default/src/lib.whl" diff --git a/acceptance/bundle/validate/variable_overrides_file_complex_path/variable-overrides.json b/acceptance/bundle/validate/variable_overrides_file_complex_path/variable-overrides.json index c082af10a3e..3a44bf858e0 100644 --- a/acceptance/bundle/validate/variable_overrides_file_complex_path/variable-overrides.json +++ b/acceptance/bundle/validate/variable_overrides_file_complex_path/variable-overrides.json @@ -1,6 +1,7 @@ { "task": { "task_key": "main", + "existing_cluster_id": "0123-456789-abcdefgh", "spark_python_task": { "python_file": "./src/main.py" },