Skip to content

acc: record how nulls in targets and includes are ignored today - #7260

Draft
denik wants to merge 2 commits into
mainfrom
denik/null-merging-tests
Draft

denik wants to merge 2 commits into
mainfrom
denik/null-merging-tests

Conversation

@denik

@denik denik commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Changes

New bundle validate tests under acceptance/bundle/validate/nulls/ for nulls that are meant to remove a value. Today every one of them is ignored, and string, int and bool nulls are reported with an expected a ... value, found null warning:

  • a null resource in a target (targets.dev.resources.jobs.bar: null); a null for a resource the base doesn't have fails with job not_in_base is not defined;
  • null job fields in a target: scalars, blocks, nested fields, map entries (tags.x), lists (email_notifications.on_failure);
  • a null field in a list element merged by key: tasks by task_key, job_clusters by job_cluster_key, job parameters by name, pipeline clusters by label;
  • null top-level fields in a target, including the ones a target replaces (mode, cluster_id, run_as, variable default/lookup);
  • nulls in an included file, including a null resource (an error today: it counts as a second definition);
  • target overrides split across included files, where a later file sets or nulls a value from an earlier one;
  • nulls in databricks.yml outside a target, where there is nothing to remove.

Why

#7261 makes a null remove the value from the base; its diff of these goldens shows the difference. Related: #7259 records the merge semantics of includes and targets in general.

Tests

New tests only; goldens recorded on main.

This pull request and its description were written by Isaac.

New bundle validate tests for nulls that are meant to remove a value: a
resource or a field in a target, a map entry, a list, a field of a task
matched by task_key (and job_clusters, job parameters, pipeline
clusters), nulls in included files, and target overrides split across
included files. Today all of them are ignored.

Co-authored-by: Isaac <no-reply@databricks.com>
@github-actions github-actions Bot added the DABs DABs related issues label Oct 30, 2026
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Commit: 2fe8e2997 | Workflow run

Regression test report

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

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

test branch main (e9e2d63) latest (v1.23.0)
TestAccept/bundle/validate/nulls/include_removes/DMS= ✅ ✅ ✅
TestAccept/bundle/validate/nulls/include_removes/DMS=true ✅ ✅ ✅
TestAccept/bundle/validate/nulls/include_target_overrides/DMS= ✅ ✅ ✅
TestAccept/bundle/validate/nulls/include_target_overrides/DMS=true ✅ ✅ ✅
TestAccept/bundle/validate/nulls/root_without_base/DMS= ✅ ✅ ✅
TestAccept/bundle/validate/nulls/root_without_base/DMS=true ✅ ✅ ✅
TestAccept/bundle/validate/nulls/target_keyed_slices/DMS= ✅ ✅ ✅
TestAccept/bundle/validate/nulls/target_keyed_slices/DMS=true ✅ ✅ ✅
TestAccept/bundle/validate/nulls/target_removes_job_fields/DMS= ✅ ✅ ✅
TestAccept/bundle/validate/nulls/target_removes_job_fields/DMS=true ✅ ✅ ✅
TestAccept/bundle/validate/nulls/target_removes_resource/DMS= ✅ ✅ ✅
TestAccept/bundle/validate/nulls/target_removes_resource/DMS=true ✅ ✅ ✅
TestAccept/bundle/validate/nulls/target_removes_top_level_fields/DMS= ✅ ✅ ✅
TestAccept/bundle/validate/nulls/target_removes_top_level_fields/DMS=true ✅ ✅ ✅

@eng-dev-ecosystem-bot

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

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 2fe8e29

Run: 41070161759

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 281 22 5:28
✅​ aws-windows-latest-4core-16gb 283 20 3:29
✅​ azure linux-2core-8gb 280 22 5:11
✅​ azure-windows-latest-4core-16gb 282 20 3:28
✅​ gcp linux-2core-8gb 281 22 5:28
✅​ gcp-windows-latest-4core-16gb 283 20 3:38
Top 6 slowest tests (at least 2 minutes):
duration env testname
3:49 aws linux-2core-8gb TestAccept
3:43 gcp linux-2core-8gb TestAccept
3:41 azure linux-2core-8gb TestAccept
3:33 gcp-windows-latest-4core-16gb TestAccept
3:23 aws-windows-latest-4core-16gb TestAccept
3:22 azure-windows-latest-4core-16gb TestAccept

Co-authored-by: Isaac <no-reply@databricks.com>

This branch has not been deployed

No deployments
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.

2 participants