Skip to content

[WIP] Add the testing property of pipelines to bundles - #7300

Draft
tharunbhuk-db wants to merge 6 commits into
tharun/pipelines-test-pr3-junitfrom
tharun/pipelines-test-pr4-bundles
Draft

tharunbhuk-db wants to merge 6 commits into
tharun/pipelines-test-pr3-junitfrom
tharun/pipelines-test-pr4-bundles

Conversation

@tharunbhuk-db

@tharunbhuk-db tharunbhuk-db commented Nov 2, 2026 •

Copy link
Copy Markdown

🥞 Stacked PR


Design doc: https://docs.google.com/document/d/1atW-JG_hQu-G-YX-m1M7OodNZdH7LMc9H7CBlQAv5gw/edit

Changes

  • Add resources.pipelines.<key>.testing, with the test sources and test-only dependencies that databricks pipelines test runs with.
  • The property is experimental. It needs DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_PIPELINE_TESTING=true. While the variable is off, bundle validate rejects testing and names the variable, and bundles deploy exactly as before: pipelines are read with the SDK, and the existing path rules are unchanged.
  • Relative paths in testing are translated like libraries. bundle validate catches common mistakes in test dependencies, such as package names, URLs and a requirements file without -r.
  • Local wheels in test dependencies are uploaded like other libraries, and the same-name check covers them, so two wheels with one file name cannot overwrite each other.
  • bundle plan shows changes to testing made outside the bundle, and bundle deploy undoes them.
  • With the variable on, a local project folder after -e, such as -e ./project[test], maps to its deployed folder instead of failing.

Why

A bundle needs to declare where a pipeline's tests and their dependencies live. The CLI uses its own types and raw calls for testing, because the Go SDK does not have the field yet. Depends on API support for testing on Create and Edit. Keep as draft until then.

Tests

  • Unit tests for path translation, the dependency checks and the read-back. The translation and read-back tests also cover the variable off, where the old behavior stays.
  • Acceptance tests in acceptance/bundle/resources/pipelines/testing* (testing-disabled covers the variable unset), acceptance/bundle/environments/editable-folder and acceptance/pipelines/test. The live test also installs a local test dependency.

This pull request and its description were written by Isaac.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Commit: e038a13a6 | Workflow run

Regression test report

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

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

test branch main (aed6702) latest (v1.23.0)
TestAccept/bundle/environments/editable-folder/DMS= ✅ ❌ ❌
TestAccept/bundle/environments/editable-folder/DMS=true ✅ ❌ ❌
TestAccept/bundle/refschema/DMS= ✅ ❌ ❌
TestAccept/bundle/refschema/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/pipelines/testing-dependencies/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/pipelines/testing-dependencies/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/pipelines/testing-disabled/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/pipelines/testing-disabled/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/pipelines/testing-same-name-libraries/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/pipelines/testing-same-name-libraries/DMS=true ✅ ❌ ❌
TestAccept/bundle/resources/pipelines/testing/DMS= ✅ ❌ ❌
TestAccept/bundle/resources/pipelines/testing/DMS=true ✅ ❌ ❌
TestAccept/pipelines/databricks-cli-help ✅ ❌ ❌
TestAccept/pipelines/test/arguments ✅ ❌ ❌
TestAccept/pipelines/test/immutable ✅ ❌ ❌
TestAccept/pipelines/test/live ✅ ❌ ❌
TestAccept/pipelines/test/many-cases ✅ ❌ ❌
TestAccept/pipelines/test/pipeline-id ✅ ❌ ❌
TestAccept/pipelines/test/results ✅ ❌ ❌
TestAccept/pipelines/test/run-control ✅ ❌ ❌
TestAccept/pipelines/test/selection ✅ ❌ ❌
TestAccept/pipelines/test/submit-error ✅ ❌ ❌
TestAccept/bundle/environments/editable-folder/DMS=: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

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 -o json\n{\n  \"job\": [\n    \"-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project\"\n  ],\n  \"pipeline\": [\n    \"-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project\"\n  ],\n  \"testing\": [\n    \"-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project[test]\"\n  ]\n}\n"
        	            	actual  : "\n>>> [CLI] bundle validate -o json\nWarning: unknown field: testing\n  at resources.pipelines.my_pipeline\n  in databricks.yml:27:7\n\nError: unable to determine if [TEST_TMP_DIR]/project is not a notebook: read [TEST_TMP_DIR]/project: is a directory\n\n{\n  \"job\": [\n    \"-e project\"\n  ],\n  \"pipeline\": [\n    \"-e project\"\n  ],\n  \"testing\": null\n}\n\nExit code: 1\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,13 +2,19 @@
        	            	 >>> [CLI] bundle validate -o json
        	            	+Warning: unknown field: testing
        	            	+  at resources.pipelines.my_pipeline
        	            	+  in databricks.yml:27:7
        	            	+
        	            	+Error: unable to determine if [TEST_TMP_DIR]/project is not a notebook: read [TEST_TMP_DIR]/project: is a directory
        	            	+
        	            	 {
        	            	   "job": [
        	            	-    "-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project"
        	            	+    "-e project"
        	            	   ],
        	            	   "pipeline": [
        	            	-    "-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project"
        	            	+    "-e project"
        	            	   ],
        	            	-  "testing": [
        	            	-    "-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project[test]"
        	            	-  ]
        	            	+  "testing": null
        	            	 }
        	            	 
        	            	+Exit code: 1
        	            	+
        	Test:       	TestAccept/bundle/environments/editable-folder/DMS=
        	Messages:   	bundle/environments/editable-folder/output.txt vs /tmp/TestAcceptbundleenvironmentseditable-folderDMS=475759570/002/output.txt

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/environments/editable-folder/DMS=true: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

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 -o json\n{\n  \"job\": [\n    \"-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project\"\n  ],\n  \"pipeline\": [\n    \"-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project\"\n  ],\n  \"testing\": [\n    \"-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project[test]\"\n  ]\n}\n"
        	            	actual  : "\n>>> [CLI] bundle validate -o json\nWarning: unknown field: testing\n  at resources.pipelines.my_pipeline\n  in databricks.yml:27:7\n\nError: unable to determine if [TEST_TMP_DIR]/project is not a notebook: read [TEST_TMP_DIR]/project: is a directory\n\n{\n  \"job\": [\n    \"-e project\"\n  ],\n  \"pipeline\": [\n    \"-e project\"\n  ],\n  \"testing\": null\n}\n\nExit code: 1\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,13 +2,19 @@
        	            	 >>> [CLI] bundle validate -o json
        	            	+Warning: unknown field: testing
        	            	+  at resources.pipelines.my_pipeline
        	            	+  in databricks.yml:27:7
        	            	+
        	            	+Error: unable to determine if [TEST_TMP_DIR]/project is not a notebook: read [TEST_TMP_DIR]/project: is a directory
        	            	+
        	            	 {
        	            	   "job": [
        	            	-    "-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project"
        	            	+    "-e project"
        	            	   ],
        	            	   "pipeline": [
        	            	-    "-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project"
        	            	+    "-e project"
        	            	   ],
        	            	-  "testing": [
        	            	-    "-e /Workspace/Users/[USERNAME]/.bundle/editable-folder/default/files/project[test]"
        	            	-  ]
        	            	+  "testing": null
        	            	 }
        	            	 
        	            	+Exit code: 1
        	            	+
        	Test:       	TestAccept/bundle/environments/editable-folder/DMS=true
        	Messages:   	bundle/environments/editable-folder/output.txt vs /tmp/TestAcceptbundleenvironmentseditable-folderDMS=true2617241034/002/output.txt

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/refschema/DMS=: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

acceptance_test.go:1341: Diff:
        --- bundle/refschema/output/pipelines.txt
        +++ /tmp/TestAcceptbundlerefschemaDMS=3042325941/001/output/pipelines.txt
        @@ -867,14 +867,6 @@
         resources.pipelines.*.tags	map[string]string	ALL
         resources.pipelines.*.tags.*	string	ALL
         resources.pipelines.*.target	string	ALL
        -resources.pipelines.*.testing	*resources.PipelineTesting	ALL
        -resources.pipelines.*.testing.environment	*resources.PipelineTestEnvironment	ALL
        -resources.pipelines.*.testing.environment.dependencies	[]string	ALL
        -resources.pipelines.*.testing.environment.dependencies[*]	string	ALL
        -resources.pipelines.*.testing.sources	[]resources.PipelineTestSource	ALL
        -resources.pipelines.*.testing.sources[*]	resources.PipelineTestSource	ALL
        -resources.pipelines.*.testing.sources[*].glob	*pipelines.PathPattern	ALL
        -resources.pipelines.*.testing.sources[*].glob.include	string	ALL
         resources.pipelines.*.trigger	*pipelines.PipelineTrigger	ALL
         resources.pipelines.*.trigger.cron	*pipelines.CronTrigger	ALL
         resources.pipelines.*.trigger.cron.quartz_cron_schedule	string	ALL

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/refschema/DMS=true: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

acceptance_test.go:1341: Diff:
        --- bundle/refschema/output/pipelines.txt
        +++ /tmp/TestAcceptbundlerefschemaDMS=true2468450888/001/output/pipelines.txt
        @@ -867,14 +867,6 @@
         resources.pipelines.*.tags	map[string]string	ALL
         resources.pipelines.*.tags.*	string	ALL
         resources.pipelines.*.target	string	ALL
        -resources.pipelines.*.testing	*resources.PipelineTesting	ALL
        -resources.pipelines.*.testing.environment	*resources.PipelineTestEnvironment	ALL
        -resources.pipelines.*.testing.environment.dependencies	[]string	ALL
        -resources.pipelines.*.testing.environment.dependencies[*]	string	ALL
        -resources.pipelines.*.testing.sources	[]resources.PipelineTestSource	ALL
        -resources.pipelines.*.testing.sources[*]	resources.PipelineTestSource	ALL
        -resources.pipelines.*.testing.sources[*].glob	*pipelines.PathPattern	ALL
        -resources.pipelines.*.testing.sources[*].glob.include	string	ALL
         resources.pipelines.*.trigger	*pipelines.PipelineTrigger	ALL
         resources.pipelines.*.trigger.cron	*pipelines.CronTrigger	ALL
         resources.pipelines.*.trigger.cron.quartz_cron_schedule	string	ALL
        
FAIL

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/resources/pipelines/testing-dependencies/DMS=: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

acceptance_test.go:1341: Diff:
        --- bundle/resources/pipelines/testing-dependencies/output.txt
        +++ /tmp/TestAcceptbundleresourcespipelinestesting-dependenciesDMS=4207082179/002/output.txt
        @@ -1,39 +1,17 @@
         
         >>> musterr [CLI] bundle validate
        -Error: testing.environment.dependencies must point at files, not "faker==33.0"
        -  at resources.pipelines.orders.testing.environment.dependencies[3]
        -  in databricks.yml:19:15
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:8:7
         
        -A test dependency is a project folder, a wheel, or a requirements file after -r, in the bundle, under /Workspace/, or under /Volumes/. Declare test packages in a project file, such as the test extra of a pyproject.toml, and reference its folder, for example -e ./project[test]. For a path in the bundle, use -e or -r followed by a space. URLs, other pip options, and .. are not supported.
        -
        -Error: testing.environment.dependencies must point at files, not "git+https://github.com/example/helpers"
        -  at resources.pipelines.orders.testing.environment.dependencies[4]
        -  in databricks.yml:20:15
        -
        -A test dependency is a project folder, a wheel, or a requirements file after -r, in the bundle, under /Workspace/, or under /Volumes/. Declare test packages in a project file, such as the test extra of a pyproject.toml, and reference its folder, for example -e ./project[test]. For a path in the bundle, use -e or -r followed by a space. URLs, other pip options, and .. are not supported.
        -
        -Error: testing.environment.dependencies needs -r before the requirements file "/Workspace/Shared/orders/requirements.txt"
        -  at resources.pipelines.orders.testing.environment.dependencies[5]
        -  in databricks.yml:21:15
        -
        -Without -r, pip treats the file as a package to install. For example: -r ./tests/requirements.txt.
        -
        -Error: testing.environment.dependencies must point at files, not "--requirement ./orders/requirements.txt"
        -  at resources.pipelines.orders.testing.environment.dependencies[6]
        -  in databricks.yml:22:15
        -
        -A test dependency is a project folder, a wheel, or a requirements file after -r, in the bundle, under /Workspace/, or under /Volumes/. Declare test packages in a project file, such as the test extra of a pyproject.toml, and reference its folder, for example -e ./project[test]. For a path in the bundle, use -e or -r followed by a space. URLs, other pip options, and .. are not supported.
        -
        -Error: testing.environment.dependencies must point at files, not "/Workspace/Shared/orders -i https://example.com/simple"
        -  at resources.pipelines.orders.testing.environment.dependencies[7]
        -  in databricks.yml:23:15
        -
        -A test dependency is a project folder, a wheel, or a requirements file after -r, in the bundle, under /Workspace/, or under /Volumes/. Declare test packages in a project file, such as the test extra of a pyproject.toml, and reference its folder, for example -e ./project[test]. For a path in the bundle, use -e or -r followed by a space. URLs, other pip options, and .. are not supported.
        -
         Name: pipeline-testing-dependencies
         Target: default
         Workspace:
           User: [USERNAME]
           Path: /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-dependencies/default
         
        -Found 5 errors
        +Found 1 warning
        +
        +Unexpected success
        +
        +Exit code: 1
        
    acceptance_test.go:1131: Test produced unexpected files:
        .databricks/.gitignore

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/resources/pipelines/testing-dependencies/DMS=true: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

acceptance_test.go:1341: Diff:
        --- bundle/resources/pipelines/testing-dependencies/output.txt
        +++ /tmp/TestAcceptbundleresourcespipelinestesting-dependenciesDMS=t426612408/002/output.txt
        @@ -1,39 +1,17 @@
         
         >>> musterr [CLI] bundle validate
        -Error: testing.environment.dependencies must point at files, not "faker==33.0"
        -  at resources.pipelines.orders.testing.environment.dependencies[3]
        -  in databricks.yml:19:15
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:8:7
         
        -A test dependency is a project folder, a wheel, or a requirements file after -r, in the bundle, under /Workspace/, or under /Volumes/. Declare test packages in a project file, such as the test extra of a pyproject.toml, and reference its folder, for example -e ./project[test]. For a path in the bundle, use -e or -r followed by a space. URLs, other pip options, and .. are not supported.
        -
        -Error: testing.environment.dependencies must point at files, not "git+https://github.com/example/helpers"
        -  at resources.pipelines.orders.testing.environment.dependencies[4]
        -  in databricks.yml:20:15
        -
        -A test dependency is a project folder, a wheel, or a requirements file after -r, in the bundle, under /Workspace/, or under /Volumes/. Declare test packages in a project file, such as the test extra of a pyproject.toml, and reference its folder, for example -e ./project[test]. For a path in the bundle, use -e or -r followed by a space. URLs, other pip options, and .. are not supported.
        -
        -Error: testing.environment.dependencies needs -r before the requirements file "/Workspace/Shared/orders/requirements.txt"
        -  at resources.pipelines.orders.testing.environment.dependencies[5]
        -  in databricks.yml:21:15
        -
        -Without -r, pip treats the file as a package to install. For example: -r ./tests/requirements.txt.
        -
        -Error: testing.environment.dependencies must point at files, not "--requirement ./orders/requirements.txt"
        -  at resources.pipelines.orders.testing.environment.dependencies[6]
        -  in databricks.yml:22:15
        -
        -A test dependency is a project folder, a wheel, or a requirements file after -r, in the bundle, under /Workspace/, or under /Volumes/. Declare test packages in a project file, such as the test extra of a pyproject.toml, and reference its folder, for example -e ./project[test]. For a path in the bundle, use -e or -r followed by a space. URLs, other pip options, and .. are not supported.
        -
        -Error: testing.environment.dependencies must point at files, not "/Workspace/Shared/orders -i https://example.com/simple"
        -  at resources.pipelines.orders.testing.environment.dependencies[7]
        -  in databricks.yml:23:15
        -
        -A test dependency is a project folder, a wheel, or a requirements file after -r, in the bundle, under /Workspace/, or under /Volumes/. Declare test packages in a project file, such as the test extra of a pyproject.toml, and reference its folder, for example -e ./project[test]. For a path in the bundle, use -e or -r followed by a space. URLs, other pip options, and .. are not supported.
        -
         Name: pipeline-testing-dependencies
         Target: default
         Workspace:
           User: [USERNAME]
           Path: /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-dependencies/default
         
        -Found 5 errors
        +Found 1 warning
        +
        +Unexpected success
        +
        +Exit code: 1
        
    acceptance_test.go:1131: Test produced unexpected files:
        .databricks/.gitignore

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/resources/pipelines/testing-disabled/DMS=: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

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>>> musterr [CLI] bundle validate\nError: the testing property of pipelines is experimental. Set DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_PIPELINE_TESTING=true to enable it\n  at resources.pipelines.orders.testing\n  in databricks.yml:9:9\n\nName: pipeline-testing-disabled\nTarget: default\n\nFound 1 error\n"
        	            	actual  : "\n>>> musterr [CLI] bundle validate\nWarning: unknown field: testing\n  at resources.pipelines.orders\n  in databricks.yml:8:7\n\nName: pipeline-testing-disabled\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-disabled/default\n\nFound 1 warning\n\nUnexpected success\n\nExit code: 1\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,5 +2,5 @@
        	            	 >>> musterr [CLI] bundle validate
        	            	-Error: the testing property of pipelines is experimental. Set DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_PIPELINE_TESTING=true to enable it
        	            	-  at resources.pipelines.orders.testing
        	            	-  in databricks.yml:9:9
        	            	+Warning: unknown field: testing
        	            	+  at resources.pipelines.orders
        	            	+  in databricks.yml:8:7
        	            	 
        	            	@@ -8,4 +8,11 @@
        	            	 Target: default
        	            	+Workspace:
        	            	+  User: [USERNAME]
        	            	+  Path: /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-disabled/default
        	            	 
        	            	-Found 1 error
        	            	+Found 1 warning
        	            	 
        	            	+Unexpected success
        	            	+
        	            	+Exit code: 1
        	            	+
        	Test:       	TestAccept/bundle/resources/pipelines/testing-disabled/DMS=
        	Messages:   	bundle/resources/pipelines/testing-disabled/output.txt vs /tmp/TestAcceptbundleresourcespipelinestesting-disabledDMS=3191482627/002/output.txt
    acceptance_test.go:1131: Test produced unexpected files:
        .databricks/.gitignore

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/resources/pipelines/testing-disabled/DMS=true: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

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>>> musterr [CLI] bundle validate\nError: the testing property of pipelines is experimental. Set DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_PIPELINE_TESTING=true to enable it\n  at resources.pipelines.orders.testing\n  in databricks.yml:9:9\n\nName: pipeline-testing-disabled\nTarget: default\n\nFound 1 error\n"
        	            	actual  : "\n>>> musterr [CLI] bundle validate\nWarning: unknown field: testing\n  at resources.pipelines.orders\n  in databricks.yml:8:7\n\nName: pipeline-testing-disabled\nTarget: default\nWorkspace:\n  User: [USERNAME]\n  Path: /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-disabled/default\n\nFound 1 warning\n\nUnexpected success\n\nExit code: 1\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,5 +2,5 @@
        	            	 >>> musterr [CLI] bundle validate
        	            	-Error: the testing property of pipelines is experimental. Set DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_PIPELINE_TESTING=true to enable it
        	            	-  at resources.pipelines.orders.testing
        	            	-  in databricks.yml:9:9
        	            	+Warning: unknown field: testing
        	            	+  at resources.pipelines.orders
        	            	+  in databricks.yml:8:7
        	            	 
        	            	@@ -8,4 +8,11 @@
        	            	 Target: default
        	            	+Workspace:
        	            	+  User: [USERNAME]
        	            	+  Path: /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-disabled/default
        	            	 
        	            	-Found 1 error
        	            	+Found 1 warning
        	            	 
        	            	+Unexpected success
        	            	+
        	            	+Exit code: 1
        	            	+
        	Test:       	TestAccept/bundle/resources/pipelines/testing-disabled/DMS=true
        	Messages:   	bundle/resources/pipelines/testing-disabled/output.txt vs /tmp/TestAcceptbundleresourcespipelinestesting-disabledDMS=true2255964441/002/output.txt
    acceptance_test.go:1131: Test produced unexpected files:
        .databricks/.gitignore

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/resources/pipelines/testing-same-name-libraries/DMS=: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

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>>> errcode [CLI] bundle deploy\nError: Duplicate local library names: test_helpers-0.1-py3-none-any.whl\n  at resources.pipelines.orders.environment.dependencies[0]\n     resources.pipelines.orders.testing.environment.dependencies[0]\n  in databricks.yml:13:13\n     databricks.yml:21:15\n\nLocal library names must be unique but found libraries with the same name: pipeline/test_helpers-0.1-py3-none-any.whl, tests/test_helpers-0.1-py3-none-any.whl\n\n\nExit code: 1\n"
        	            	actual  : "\n>>> errcode [CLI] bundle deploy\nWarning: unknown field: testing\n  at resources.pipelines.orders\n  in databricks.yml:14:7\n\nUploading pipeline/test_helpers-0.1-py3-none-any.whl...\nUploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-same-name-libraries/default/files...\nCreated pipelines.orders\nFiles: 5 uploaded, 0 deleted\nResources: 1 created, 0 changed, 0 deleted, 0 unchanged\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,12 +2,11 @@
        	            	 >>> errcode [CLI] bundle deploy
        	            	-Error: Duplicate local library names: test_helpers-0.1-py3-none-any.whl
        	            	-  at resources.pipelines.orders.environment.dependencies[0]
        	            	-     resources.pipelines.orders.testing.environment.dependencies[0]
        	            	-  in databricks.yml:13:13
        	            	-     databricks.yml:21:15
        	            	+Warning: unknown field: testing
        	            	+  at resources.pipelines.orders
        	            	+  in databricks.yml:14:7
        	            	 
        	            	-Local library names must be unique but found libraries with the same name: pipeline/test_helpers-0.1-py3-none-any.whl, tests/test_helpers-0.1-py3-none-any.whl
        	            	+Uploading pipeline/test_helpers-0.1-py3-none-any.whl...
        	            	+Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-same-name-libraries/default/files...
        	            	+Created pipelines.orders
        	            	+Files: 5 uploaded, 0 deleted
        	            	+Resources: 1 created, 0 changed, 0 deleted, 0 unchanged
        	            	 
        	            	-
        	            	-Exit code: 1
        	            	-
        	Test:       	TestAccept/bundle/resources/pipelines/testing-same-name-libraries/DMS=
        	Messages:   	bundle/resources/pipelines/testing-same-name-libraries/output.txt vs /tmp/TestAcceptbundleresourcespipelinestesting-same-name-librarie111153170/002/output.txt

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/resources/pipelines/testing-same-name-libraries/DMS=true: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

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>>> errcode [CLI] bundle deploy\nError: Duplicate local library names: test_helpers-0.1-py3-none-any.whl\n  at resources.pipelines.orders.environment.dependencies[0]\n     resources.pipelines.orders.testing.environment.dependencies[0]\n  in databricks.yml:13:13\n     databricks.yml:21:15\n\nLocal library names must be unique but found libraries with the same name: pipeline/test_helpers-0.1-py3-none-any.whl, tests/test_helpers-0.1-py3-none-any.whl\n\n\nExit code: 1\n"
        	            	actual  : "\n>>> errcode [CLI] bundle deploy\nWarning: unknown field: testing\n  at resources.pipelines.orders\n  in databricks.yml:14:7\n\nUploading pipeline/test_helpers-0.1-py3-none-any.whl...\nUploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-same-name-libraries/default/files...\nCreated pipelines.orders\nFiles: 5 uploaded, 0 deleted\nResources: 1 created, 0 changed, 0 deleted, 0 unchanged\n"
        	            	
        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -2,12 +2,11 @@
        	            	 >>> errcode [CLI] bundle deploy
        	            	-Error: Duplicate local library names: test_helpers-0.1-py3-none-any.whl
        	            	-  at resources.pipelines.orders.environment.dependencies[0]
        	            	-     resources.pipelines.orders.testing.environment.dependencies[0]
        	            	-  in databricks.yml:13:13
        	            	-     databricks.yml:21:15
        	            	+Warning: unknown field: testing
        	            	+  at resources.pipelines.orders
        	            	+  in databricks.yml:14:7
        	            	 
        	            	-Local library names must be unique but found libraries with the same name: pipeline/test_helpers-0.1-py3-none-any.whl, tests/test_helpers-0.1-py3-none-any.whl
        	            	+Uploading pipeline/test_helpers-0.1-py3-none-any.whl...
        	            	+Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing-same-name-libraries/default/files...
        	            	+Created pipelines.orders
        	            	+Files: 5 uploaded, 0 deleted
        	            	+Resources: 1 created, 0 changed, 0 deleted, 0 unchanged
        	            	 
        	            	-
        	            	-Exit code: 1
        	            	-
        	Test:       	TestAccept/bundle/resources/pipelines/testing-same-name-libraries/DMS=true
        	Messages:   	bundle/resources/pipelines/testing-same-name-libraries/output.txt vs /tmp/TestAcceptbundleresourcespipelinestesting-same-name-librarie2147585997/002/output.txt

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/resources/pipelines/testing/DMS=: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

acceptance_test.go:1341: Diff:
        --- bundle/resources/pipelines/testing/output.txt
        +++ /tmp/TestAcceptbundleresourcespipelinestestingDMS=3521225662/002/output.txt
        @@ -1,25 +1,17 @@
         
         === Relative test paths resolve to the deployed workspace paths
         >>> [CLI] bundle validate -o json
        -{
        -  "environment": {
        -    "dependencies": [
        -      "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -      "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -      "./dist/*.whl"
        -    ]
        -  },
        -  "sources": [
        -    {
        -      "glob": {
        -        "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/**"
        -      }
        -    }
        -  ]
        -}
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
         
        +null
        +
         >>> [CLI] bundle deploy
        -Uploading dist/test_helpers-0.1-py3-none-any.whl...
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files...
         Created pipelines.orders
         Files: 5 uploaded, 0 deleted
        @@ -43,164 +33,73 @@
                 }
               }
             ],
        -    "name": "orders",
        -    "testing": {
        -      "sources": [
        -        {
        -          "glob": {
        -            "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/**"
        -          }
        -        }
        -      ],
        -      "environment": {
        -        "dependencies": [
        -          "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -          "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -          "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/artifacts/.internal/test_helpers-0.1-py3-none-any.whl"
        -        ]
        -      }
        -    }
        +    "name": "orders"
           }
         }
         
         === No changes after the deploy
         >>> [CLI] bundle plan
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged
         
         === A remote edit that drops testing shows in the plan
         >>> [CLI] bundle plan -o json
        -{
        -  "action": "update",
        -  "old": {
        -    "sources": [
        -      {
        -        "glob": {
        -          "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/**"
        -        }
        -      }
        -    ],
        -    "environment": {
        -      "dependencies": [
        -        "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -        "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -        "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/artifacts/.internal/test_helpers-0.1-py3-none-any.whl"
        -      ]
        -    }
        -  },
        -  "new": {
        -    "sources": [
        -      {
        -        "glob": {
        -          "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/**"
        -        }
        -      }
        -    ],
        -    "environment": {
        -      "dependencies": [
        -        "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -        "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -        "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/artifacts/.internal/test_helpers-0.1-py3-none-any.whl"
        -      ]
        -    }
        -  }
        -}
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
         
        +null
        +
         >>> [CLI] bundle deploy
        -Uploading dist/test_helpers-0.1-py3-none-any.whl...
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files...
        -Updated pipelines.orders
         Files: 1 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 0 unchanged
        +Resources: 0 created, 0 changed, 0 deleted, 1 unchanged
         
         >>> [CLI] bundle plan
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged
         
         === Changing testing updates the pipeline
         >>> update_file.py databricks.yml ./tests/** ./tests/unit/**
         
         >>> [CLI] bundle plan
        -update pipelines.orders
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
         
        -Plan: 0 to add, 1 to change, 0 to delete, 0 unchanged
        +Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged
         
         >>> [CLI] bundle deploy
        -Uploading dist/test_helpers-0.1-py3-none-any.whl...
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files...
        -Updated pipelines.orders
         Files: 1 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 0 unchanged
        +Resources: 0 created, 0 changed, 0 deleted, 1 unchanged
         
         >>> print_requests.py //api/2.0/pipelines --nostamp
        -{
        -  "method": "PUT",
        -  "path": "/api/2.0/pipelines/[ORDERS_ID]",
        -  "body": {
        -    "channel": "CURRENT",
        -    "deployment": {
        -      "kind": "BUNDLE",
        -      "metadata_file_path": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/state/metadata.json"
        -    },
        -    "edition": "ADVANCED",
        -    "libraries": [
        -      {
        -        "glob": {
        -          "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/transformations/**"
        -        }
        -      }
        -    ],
        -    "name": "orders",
        -    "testing": {
        -      "sources": [
        -        {
        -          "glob": {
        -            "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/unit/**"
        -          }
        -        }
        -      ],
        -      "environment": {
        -        "dependencies": [
        -          "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -          "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -          "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/artifacts/.internal/test_helpers-0.1-py3-none-any.whl"
        -        ]
        -      }
        -    }
        -  }
        -}
         
         === Removing testing sends an update without it
         >>> [CLI] bundle plan
        -update pipelines.orders
        +Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged
         
... (35 more lines truncated, raise DATABRICKS_CLI_TEST_MAX_LOG to see more)

latest (v1.23.0): same output as main (aed6702)

TestAccept/bundle/resources/pipelines/testing/DMS=true: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

acceptance_test.go:1341: Diff:
        --- bundle/resources/pipelines/testing/output.txt
        +++ /tmp/TestAcceptbundleresourcespipelinestestingDMS=true4034692402/002/output.txt
        @@ -1,25 +1,17 @@
         
         === Relative test paths resolve to the deployed workspace paths
         >>> [CLI] bundle validate -o json
        -{
        -  "environment": {
        -    "dependencies": [
        -      "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -      "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -      "./dist/*.whl"
        -    ]
        -  },
        -  "sources": [
        -    {
        -      "glob": {
        -        "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/**"
        -      }
        -    }
        -  ]
        -}
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
         
        +null
        +
         >>> [CLI] bundle deploy
        -Uploading dist/test_helpers-0.1-py3-none-any.whl...
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files...
         Created pipelines.orders
         Files: 5 uploaded, 0 deleted
        @@ -43,164 +33,73 @@
                 }
               }
             ],
        -    "name": "orders",
        -    "testing": {
        -      "sources": [
        -        {
        -          "glob": {
        -            "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/**"
        -          }
        -        }
        -      ],
        -      "environment": {
        -        "dependencies": [
        -          "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -          "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -          "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/artifacts/.internal/test_helpers-0.1-py3-none-any.whl"
        -        ]
        -      }
        -    }
        +    "name": "orders"
           }
         }
         
         === No changes after the deploy
         >>> [CLI] bundle plan
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged
         
         === A remote edit that drops testing shows in the plan
         >>> [CLI] bundle plan -o json
        -{
        -  "action": "update",
        -  "old": {
        -    "sources": [
        -      {
        -        "glob": {
        -          "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/**"
        -        }
        -      }
        -    ],
        -    "environment": {
        -      "dependencies": [
        -        "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -        "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -        "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/artifacts/.internal/test_helpers-0.1-py3-none-any.whl"
        -      ]
        -    }
        -  },
        -  "new": {
        -    "sources": [
        -      {
        -        "glob": {
        -          "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/**"
        -        }
        -      }
        -    ],
        -    "environment": {
        -      "dependencies": [
        -        "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -        "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -        "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/artifacts/.internal/test_helpers-0.1-py3-none-any.whl"
        -      ]
        -    }
        -  }
        -}
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
         
        +null
        +
         >>> [CLI] bundle deploy
        -Uploading dist/test_helpers-0.1-py3-none-any.whl...
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files...
        -Updated pipelines.orders
         Files: 1 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 0 unchanged
        +Resources: 0 created, 0 changed, 0 deleted, 1 unchanged
         
         >>> [CLI] bundle plan
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged
         
         === Changing testing updates the pipeline
         >>> update_file.py databricks.yml ./tests/** ./tests/unit/**
         
         >>> [CLI] bundle plan
        -update pipelines.orders
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
         
        -Plan: 0 to add, 1 to change, 0 to delete, 0 unchanged
        +Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged
         
         >>> [CLI] bundle deploy
        -Uploading dist/test_helpers-0.1-py3-none-any.whl...
        +Warning: unknown field: testing
        +  at resources.pipelines.orders
        +  in databricks.yml:11:7
        +
         Uploading bundle files to /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files...
        -Updated pipelines.orders
         Files: 1 uploaded, 0 deleted
        -Resources: 0 created, 1 changed, 0 deleted, 0 unchanged
        +Resources: 0 created, 0 changed, 0 deleted, 1 unchanged
         
         >>> print_requests.py //api/2.0/pipelines --nostamp
        -{
        -  "method": "PUT",
        -  "path": "/api/2.0/pipelines/[ORDERS_ID]",
        -  "body": {
        -    "channel": "CURRENT",
        -    "deployment": {
        -      "kind": "BUNDLE",
        -      "metadata_file_path": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/state/metadata.json"
        -    },
        -    "edition": "ADVANCED",
        -    "libraries": [
        -      {
        -        "glob": {
        -          "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/transformations/**"
        -        }
        -      }
        -    ],
        -    "name": "orders",
        -    "testing": {
        -      "sources": [
        -        {
        -          "glob": {
        -            "include": "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/unit/**"
        -          }
        -        }
        -      ],
        -      "environment": {
        -        "dependencies": [
        -          "--editable /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files[test]",
        -          "-r /Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/files/tests/requirements.txt",
        -          "/Workspace/Users/[USERNAME]/.bundle/pipeline-testing/default/artifacts/.internal/test_helpers-0.1-py3-none-any.whl"
        -        ]
        -      }
        -    }
        -  }
        -}
         
         === Removing testing sends an update without it
         >>> [CLI] bundle plan
        -update pipelines.orders
        +Plan: 0 to add, 0 to change, 0 to delete, 1 unchanged
         
... (35 more lines truncated, raise DATABRICKS_CLI_TEST_MAX_LOG to see more)

latest (v1.23.0): same output as main (aed6702)

TestAccept/pipelines/databricks-cli-help: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

acceptance_test.go:1341: Diff:
        --- pipelines/databricks-cli-help/output.txt
        +++ /tmp/TestAcceptpipelinesdatabricks-cli-help1642093938/002/output.txt
        @@ -30,7 +30,6 @@
           run                   Run a pipeline
           show                  Preview a table's columns and sample rows
           stop                  Stop a pipeline
        -  test                  *Preview* Run the tests of a pipeline
         
         Management Commands
           apply-environment     *Public Preview* Apply the latest environment to the pipeline.

latest (v1.23.0): same output as main (aed6702)

TestAccept/pipelines/test/arguments: branch ✅ | main (aed6702) ❌ | latest (v1.23.0) ❌

main (aed6702):

acceptance_test.go:1341: Diff:
        --- pipelines/test/arguments/output.txt
        +++ /tmp/TestAcceptpipelinestestarguments2514976751/002/output.txt
        @@ -1,100 +1,747 @@
         
         >>> [CLI] pipelines test --help
        -Run the tests of a pipeline in a test-only update.
        +The Lakeflow Spark Declarative Pipelines API allows you to create, edit,
        +  delete, start, and view details about pipelines.
         
        -This command is experimental. Set DATABRICKS_CLI_PIPELINES_TEST=true to enable it.
        +  Spark Declarative Pipelines is a framework for building reliable,
        +  maintainable, and testable data processing pipelines. You define the
        +  transformations to perform on your data, and Spark Declarative Pipelines
        +  manages task orchestration, cluster management, monitoring, data quality, and
        +  error handling.
         
        -PIPELINE_KEY is the unique name of the pipeline, as defined in its YAML file.
        -It is required when test selections are given. If there is only one pipeline
        -in the project and no arguments are given, it is selected automatically.
        -Outside a project, identify the pipeline with --pipeline-id; all positional
        -arguments are then test selections.
        +  Instead of defining your data pipelines using a series of separate Apache
        +  Spark tasks, Spark Declarative Pipelines manages how your data is transformed
        +  based on a target schema you define for each processing step. You can also
        +  enforce data quality with Spark Declarative Pipelines expectations.
        +  Expectations allow you to define expected data quality and specify how to
        +  handle records that fail those expectations.
         
        -TEST_SELECTION is a test directory, file, or pytest test ID, for example
        -tests/test_orders.py::test_backfill. In a project, a relative path is a local
        -path, relative to the working directory, and is converted to its deployed
        -workspace path. With --pipeline-id, a relative path is relative to the
        -pipeline's root_path. Paths that start with / are workspace paths. Without a
        -selection, all of the pipeline's tests run.
        +Usage:
        +  databricks pipelines [flags]
        +  databricks pipelines [command]
         
        -Each --pytest-arg passes one argument to pytest, in the order given. Only -k
        -and -m are supported, each followed by its value in the next --pytest-arg, for
        -example:
        +Main Commands
        +  deploy                Deploy pipelines
        +  destroy               Destroy a pipelines project
        +  dry-run               Validate correctness of the pipeline's graph
        +  generate              Generate pipeline configuration
        +  history               Retrieve past runs for a pipeline
        +  init                  Initialize a new pipelines project
        +  logs                  Retrieve events for a pipeline
        +  open                  Open a pipeline in the browser
        +  run                   Run a pipeline
        +  show                  Preview a table's columns and sample rows
        +  stop                  Stop a pipeline
         
        -  databricks pipelines test my_pipeline --pytest-arg=-k --pytest-arg='orders and not slow'
        +Management Commands
        +  apply-environment     *Public Preview* Apply the latest environment to the pipeline.
        +  clone                 Clone a pipeline.
        +  create                Create a pipeline.
        +  delete                Delete a pipeline.
        +  get                   Get a pipeline.
        +  get-update            Get a pipeline update.
        +  list-pipeline-events  List pipeline events.
        +  list-pipelines        List pipelines.
        +  list-updates          List pipeline updates.
        +  start-update          Start a pipeline.
        +  update                Edit a pipeline.
         
        -The command waits for the results and succeeds only if at least one test was
        -collected and none failed or errored. --no-wait returns after the update starts.
        ---timeout and Ctrl+C stop waiting but not the update; pass its ID to --resume
        -to read the results later. To stop the update, run 'pipelines stop'.
        +Permission Commands
        +  get-permission-levels Get pipeline permission levels.
        +  get-permissions       Get pipeline permissions.
        +  set-permissions       Set pipeline permissions.
        +  update-permissions    Update pipeline permissions.
         
        ---junit-xml writes one entry per test with its outcome and duration. An
        -incomplete run, a run without tests, or a timeout adds a failing entry that
        -names the cause. With workspace.sync_mode immutable, test names keep the path
        -of the deployed snapshot, which changes with each deployment.
        +Flags:
        +  -h, --help          help for pipelines
        +      --var strings   set values for variables defined in project config. Example: --var="foo=bar"
         
        +Global Flags:
        +      --debug            enable debug logging
        +  -o, --output type      output type: text or json (default text)
        +  -p, --profile string   ~/.databrickscfg profile
        +  -t, --target string    bundle target to use (if applicable)
        +
        +Use "databricks pipelines [command] --help" for more information about a command.
        +
        +=== The command is experimental and off by default
        +>>> musterr [CLI] pipelines test --pipeline-id 1234
        +Error: unknown flag: --pipeline-id
        +
         Usage:
        -  databricks pipelines test [PIPELINE_KEY] [TEST_SELECTION...] [flags] [--pytest-arg=ARG ...]
        +  databricks pipelines [flags]
        +  databricks pipelines [command]
         
        -Pipeline Test Flags:
        -      --junit-xml string         Write the results as a JUnit XML report to this file, replacing it.
        -      --no-wait                  Return after the test update starts, without waiting for results.
        -      --pipeline-id string       ID of the pipeline to test, instead of a PIPELINE_KEY.
        -      --pytest-arg stringArray   Argument to pass to pytest (repeatable). Only -k and -m are supported.
        -      --resume string            Read the results of an existing test update instead of starting one.
        -      --timeout duration         Stop waiting for results after this duration, for example 30m. The update keeps running.
        +Main Commands
        +  deploy                Deploy pipelines
        +  destroy               Destroy a pipelines project
        +  dry-run               Validate correctness of the pipeline's graph
        +  generate              Generate pipeline configuration
        +  history               Retrieve past runs for a pipeline
        +  init                  Initialize a new pipelines project
        +  logs                  Retrieve events for a pipeline
        +  open                  Open a pipeline in the browser
        +  run                   Run a pipeline
        +  show                  Preview a table's columns and sample rows
        +  stop                  Stop a pipeline
         
        +Management Commands
        +  apply-environment     *Public Preview* Apply the latest environment to the pipeline.
        +  clone                 Clone a pipeline.
        +  create                Create a pipeline.
        +  delete                Delete a pipeline.
        +  get                   Get a pipeline.
        +  get-update            Get a pipeline update.
        +  list-pipeline-events  List pipeline events.
        +  list-pipelines        List pipelines.
        +  list-updates          List pipeline updates.
        +  start-update          Start a pipeline.
        +  update                Edit a pipeline.
        +
        +Permission Commands
        +  get-permission-levels Get pipeline permission levels.
        +  get-permissions       Get pipeline permissions.
        +  set-permissions       Set pipeline permissions.
        +  update-permissions    Update pipeline permissions.
        +
         Flags:
        -  -h, --help   help for test
        +  -h, --help          help for pipelines
        +      --var strings   set values for variables defined in project config. Example: --var="foo=bar"
         
         Global Flags:
               --debug            enable debug logging
           -o, --output type      output type: text or json (default text)
           -p, --profile string   ~/.databrickscfg profile
           -t, --target string    bundle target to use (if applicable)
        -      --var strings      set values for variables defined in project config. Example: --var="foo=bar"
         
        -=== The command is experimental and off by default
        ->>> musterr [CLI] pipelines test --pipeline-id 1234
        -Error: pipelines test is experimental. Set DATABRICKS_CLI_PIPELINES_TEST=true to enable it
        +Use "databricks pipelines [command] --help" for more information about a command.
         
        +
         === pytest arguments must be passed with --pytest-arg
         >>> musterr [CLI] pipelines test --pipeline-id 1234 -k orders
        -Error: -k is a pytest argument: pass pytest arguments with --pytest-arg, for example --pytest-arg=-k --pytest-arg='orders and not slow'
        +Error: unknown flag: --pipeline-id
         
        +Usage:
        +  databricks pipelines [flags]
        +  databricks pipelines [command]
        +
        +Main Commands
        +  deploy                Deploy pipelines
        +  destroy               Destroy a pipelines project
        +  dry-run               Validate correctness of the pipeline's graph
        +  generate              Generate pipeline configuration
        +  history               Retrieve past runs for a pipeline
        +  init                  Initialize a new pipelines project
        +  logs                  Retrieve events for a pipeline
        +  open                  Open a pipeline in the browser
        +  run                   Run a pipeline
        +  show                  Preview a table's columns and sample rows
        +  stop                  Stop a pipeline
        +
        +Management Commands
        +  apply-environment     *Public Preview* Apply the latest environment to the pipeline.
        +  clone                 Clone a pipeline.
        +  create                Create a pipeline.
        +  delete                Delete a pipeline.
        +  get                   Get a pipeline.
        +  get-update            Get a pipeline update.
        +  list-pipeline-events  List pipeline events.
        +  list-pipelines        List pipelines.
        +  list-updates          List pipeline updates.
        +  start-update          Start a pipeline.
        +  update                Edit a pipeline.
        +
        +Permission Commands
        +  get-permission-levels Get pipeline permission levels.
        +  get-permissions       Get pipeline permissions.
        +  set-permissions       Set pipeline permissions.
... (628 more lines truncated, raise DATABRICKS_CLI_TEST_MAX_LOG to see more)

latest (v1.23.0): same output as main (aed6702)

8 more failure details omitted, see the full report in the run.

@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: e038a13

Run: 41557192069

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 281 31 5:37
✅​ aws-windows-latest-4core-16gb 283 29 3:10
✅​ azure linux-2core-8gb 280 31 5:34
✅​ azure-windows-latest-4core-16gb 282 29 3:09
✅​ gcp linux-2core-8gb 281 31 5:35
✅​ gcp-windows-latest-4core-16gb 283 29 2:59
Top 6 slowest tests (at least 2 minutes):
duration env testname
4:14 aws linux-2core-8gb TestAccept
4:13 azure linux-2core-8gb TestAccept
4:12 gcp linux-2core-8gb TestAccept
3:04 aws-windows-latest-4core-16gb TestAccept
3:03 azure-windows-latest-4core-16gb TestAccept
2:38 gcp-windows-latest-4core-16gb TestAccept

@tharunbhuk-db
tharunbhuk-db force-pushed the tharun/pipelines-test-pr3-junit branch from cc2e61a to b4df318 Compare November 3, 2026 00:53
@tharunbhuk-db
tharunbhuk-db force-pushed the tharun/pipelines-test-pr4-bundles branch from 9c9d9c8 to 742ef87 Compare November 3, 2026 00:53

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants