Skip to content

experimental/ssh: fix Cursor remote IDE hang on default-extension install - #5619

Merged
anton-107 merged 5 commits into
mainfrom
deco-27339-cursor-default-extensions
Jun 16, 2026
Merged

experimental/ssh: fix Cursor remote IDE hang on default-extension install#5619
anton-107 merged 5 commits into
mainfrom
deco-27339-cursor-default-extensions

Conversation

@anton-107

@anton-107anton-107 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

databricks ssh connect --ide cursor hangs while installing the default extensions on the remote, so the Cursor editor view never loads. VS Code is unaffected. (Jira: DECO-27339)

Root cause

The CLI seeds the same remote.SSH.defaultExtensions list for both IDEs — ms-python.python, ms-toolsai.jupyter, databricks.databricks. On the remote, Cursor's marketplace silently remaps ms-python.pythonanysphere.python (and Pylance → anysphere.cursorpyright), which forms a circular dependency and hangs the auto-install indefinitely (confirmed on the remote: ~/.cursor-server/extensions/ stays empty, install process stuck). VS Code does no such remap, matching the reported asymmetry.

Changes

  • Per-IDE default extensions (run.go, settings.go): add DefaultExtensions to the IDE descriptor and thread the IDE through validateSettings/getMissingExtensions/handleMissingFile/GetManualInstructions. VS Code keeps all three; Cursor seeds only databricks.databricks so it is not forced through the broken auto-install (Cursor ships its own Python/Jupyter stack).
  • Strip stale incompatible extensions (run.go, settings.go): add IncompatibleExtensions to the IDE descriptor (Cursor: ms-python.python, ms-toolsai.jupyter). validateSettings now reports such entries already present in remote.SSH.defaultExtensions, and updateSettings rebuilds the array to drop them — so users who ran an earlier CLI build are auto-healed on their next connect instead of staying stuck. VS Code is unaffected (empty incompatible list).
  • --classic on Cursor launch (run.go): Cursor 3.x defaults new windows to the "Agents Window", which swallows the --remote request and never opens the remote editor. Adding --classic (Cursor-only) forces a classic editor window so the remote workspace opens. VS Code's launch is unchanged.
  • Tests updated/added in settings_test.go (Cursor vs VS Code lists, stale-extension detection/stripping).

Testing

  • go test ./experimental/ssh/internal/vscode/ passes.
  • Manually verified against serverless on dogfood: before, the Cursor remote window hung on ms-python.python install and the editor never loaded; after, the remote server is launched with only --install-extension databricks.databricks, the editor view opens, and the hang is gone.

Validation (review follow-ups)

1. Stale-extension stripping — verified with the real repro. Pre-seeded a Cursor settings.json with the old list ["ms-python.python", "ms-toolsai.jupyter", "databricks.databricks"] (simulating a user who ran an earlier CLI build), then ran the actual ssh connect --ide cursor -p dogfood --auto-approve. The CLI rewrote defaultExtensions to ["databricks.databricks"] — the two remapped extensions were stripped — and added the new connection to the port/platform maps, confirming the settings-update path ran. The strip happens early (before the serverless cluster starts), so already-affected users are healed on their next connect.

2. --classic is safe on older Cursor — verified on an actual pre-3.x build. Downloaded Cursor 2.4.37 (Feb 2026, before the Glass/Agents architecture and the --classic flag) and ran its CLI directly:

$ cursor --version → 2.4.37, exit 0
$ cursor --classic --version → Warning: 'classic' is not in the list of known options,
but still passed to Electron/Chromium.
2.4.37, exit 0
$ cursor --classic --help → same warning, then normal help output

So on a real older Cursor, --classic is a harmless no-op (warning + ignored, exit 0); it does not error and is never misparsed as a positional path. --classic is also placed before the --remote/path args, so it can't be confused with the workspace path.

…tall
`databricks ssh connect --ide cursor` seeded the same
`remote.SSH.defaultExtensions` list for both IDEs
(ms-python.python, ms-toolsai.jupyter, databricks.databricks). On the
remote, Cursor's marketplace silently remaps ms-python.python ->
anysphere.python (and Pylance -> anysphere.cursorpyright), forming a
circular dependency that hangs the auto-install indefinitely. The remote
editor never finishes loading. VS Code does no such remap and is
unaffected, matching the reported asymmetry.
Make the default-extension list per-IDE: VS Code keeps all three; Cursor
seeds only databricks.databricks, so it is not forced through the broken
auto-install (Cursor ships its own Python/Jupyter stack anyway).
Also pass `--classic` on the Cursor launch: Cursor 3.x defaults new
windows to the "Agents Window", which swallows the `--remote` request and
never opens the remote editor. `--classic` forces a classic editor window
so the remote workspace actually opens.
Jira: DECO-27339
Co-authored-by: Isaac
Jira: DECO-27339
Co-authored-by: Isaac
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: bd2dff8

Run: 27628040938

Env🟨​KNOWN💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
🟨​aws linux7152649927:04
🟨​aws windows71526699010:17
💚​aws-ucws linux7153609068:42
💚​aws-ucws windows71536290410:31
💚​azure linux1172679905:49
💚​azure windows1172699888:39
💚​azure-ucws linux1173659027:28
💚​azure-ucws windows11736790010:00
💚​gcp linux1172639938:36
💚​gcp windows1172659919:31
22 interesting tests: 15 SKIP, 7 KNOWN
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🟨​TestAccept🟨​K🟨​K💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
🙈​TestAccept/bundle/invariant/no_drift🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/permissions🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions🟨​K🟨​K💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions🟨​K🟨​K💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct🟨​K🟨​K💚​R💚​R
🟨​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🟨​K🟨​K💚​R💚​R
🙈​TestAccept/bundle/resources/postgres_branches/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/recreate🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/replace_existing🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/update_protected🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/without_branch_id🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_endpoints/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_endpoints/recreate🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_projects/update_display_name🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/synced_database_tables/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/vector_search_indexes/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/vector_search_indexes/grants/select🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/ssh/connection🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
Top 25 slowest tests (at least 2 minutes):
durationenvtestname
6:07gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
4:50gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
4:30gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
4:24gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
4:01azure windowsTestAccept
3:58aws-ucws windowsTestAccept
3:42azure-ucws windowsTestAccept
3:38gcp windowsTestAccept
3:30aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:30aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:21aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:18aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:54azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:46azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:42azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:39azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:37aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:36azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:36aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:34azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:33azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:32aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:30azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:28aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:02aws-ucws linuxTestAccept/bundle/resources/model_serving_endpoints/basic/DATABRICKS_BUNDLE_ENGINE=terraform

@rugpanov

Copy link
Copy Markdown
Contributor

Two questions,

First, one thing worth deciding before merge: the fix only changes what the CLI seeds, not what is already present. getMissingExtensions checks whether the required set (now just databricks.databricks for Cursor) is present and never removes entries, so a user who ran an earlier CLI build — exactly the population that hit DECO-27339 — still has ms-python.python (and Pylance) in their Cursor remote.SSH.defaultExtensions. The new code will neither detect nor strip them.

Result: the remote auto-install still hangs for these users until they manually edit settings.json. Since Cursor uses a separate settings file from VS Code (different AppName), this is specifically Cursor users who previously ran ssh connect --ide cursor.

Worth deciding: either actively remove the remapped extensions from Cursor's defaultExtensions when present, or at minimum call out the manual remediation in the changelog/PR. As written, the headline ("fix opening remote environment in Cursor") overpromises for already-affected users.


Second, is --classic safely ignored by older Cursor versions, or could it be misparsed as a path/positional arg and break the launch? VS Code/Electron CLIs usually ignore unknown flags, so this is probably fine, but since the minimum supported Cursor here is 1.0.32 (MinSSHExtensionVersion), it'd be good to confirm --classic doesn't error on a sub-3.x Cursor that still passes the extension check.

…settings
Addresses review feedback: the seed-only fix did not help users who ran an
earlier CLI build and already have ms-python.python / ms-toolsai.jupyter in
their Cursor remote.SSH.defaultExtensions — their remote install kept
hanging until they hand-edited settings.json.
Add IncompatibleExtensions to the IDE descriptor (Cursor: ms-python.python,
ms-toolsai.jupyter). validateSettings now also reports stale entries, and
updateSettings rebuilds defaultExtensions to drop them (replacing the array
rather than index-based removes to avoid shifting indices). VS Code is
unaffected (empty incompatible list). New tests cover detection, stripping,
and combined strip+add.
Jira: DECO-27339
Co-authored-by: Isaac
@anton-107

Copy link
Copy Markdown
ContributorAuthor

Thanks @rugpanov — both good catches. Addressed in 138e684.

1. Already-affected users (stale ms-python.python). You're right, and we hit this exact gap while testing — the seed-only change left prior --ide cursor users hung until they hand-edited settings.json. The CLI now actively heals them: added IncompatibleExtensions to the IDE descriptor (Cursor = ms-python.python, ms-toolsai.jupyter), validateSettings reports stale entries present in remote.SSH.defaultExtensions, and updateSettings rebuilds the array to drop them (replacing the whole array rather than index-based removes, to avoid index shifting). So on the next ssh connect --ide cursor the bad entries are stripped and the required ones merged in one update. VS Code keeps its list (empty incompatible set). New tests cover detection, stripping, and combined strip+add. The changelog headline now holds for already-affected users too.

2. Is --classic safe on older Cursor? Verified it's harmless. The Cursor/Code CLI tolerates unknown options — it doesn't error and doesn't treat them as positional paths. On the current build an unknown flag yields:

$ cursor --this-flag-does-not-exist-xyz --version
Warning: 'this-flag-does-not-exist-xyz' is not in the list of known options, but still passed to Electron/Chromium.
3.7.36
exit: 0

So a sub-3.x Cursor that still passes the anysphere.remote-ssh >= 1.0.32 check would, worst case, print that warning and ignore --classic — the --remote launch is unaffected. (--classic is also placed before the --remote/path args, so it's never ambiguous with the positional path.)

Comment threadNEXT_CHANGELOG.md Outdated
@anton-107
anton-107 enabled auto-merge June 16, 2026 15:21
@anton-107
anton-107 added this pull request to the merge queueJun 16, 2026
Merged via the queue into main with commit 7ea729eJun 16, 2026
27 checks passed
@anton-107
anton-107 deleted the deco-27339-cursor-default-extensions branch June 16, 2026 16:48
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 7ea729e

Run: 27633700490

Env💥​PANIC❌​FAIL🟨​KNOWN🤯​MISS🔄​flaky💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
🔄​aws linux361554392670:44
💚​aws windows71551193673:42
💥​aws-ucws linux112173352759746120:00
❌​aws-ucws windows13129172619761120:05
❌​azure linux41817542922319:31
❌​azure windows6517512930120:05
💥​azure-ucws linux111186212710758120:00
💥​azure-ucws windows1211218712613773120:05
❌​gcp linux21217532930218:13
❌​gcp windows41217496940284:18
580 interesting tests: 529 MISS, 43 FAIL, 3 KNOWN, 3 PANIC, 2 SKIP
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🟨​TestAccept🔄​f💚​R🤯​M🤯​M🟨​K🤯​M🤯​M🤯​M🟨​K🟨​K
🤯​TestAccept/bundle/apps/job_permissions🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/apps/job_permissions/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/apps/job_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/cli_defaults✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/cli_defaults/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/cli_defaults/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/config_edits✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/config_edits/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/config_edits/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/dashboard_etag✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/dashboard_etag/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/dashboard_etag/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/flushed_cache✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/flushed_cache/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/flushed_cache/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/formatting_preserved✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/formatting_preserved/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/formatting_preserved/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/job_fields🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s✅​p🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/job_fields/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/job_fields/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/job_multiple_tasks✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/job_multiple_tasks/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/job_multiple_tasks/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/job_params_variables🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s✅​p🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/job_params_variables/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/job_params_variables/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/job_pipeline_task✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/job_pipeline_task/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/job_pipeline_task/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/multiple_files✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/multiple_files/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/multiple_files/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
❌​TestAccept/bundle/config-remote-sync/multiple_resources🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s❌​F🙈​s🙈​s🙈​s
❌​TestAccept/bundle/config-remote-sync/multiple_resources/DATABRICKS_BUNDLE_ENGINE=direct🤯​M❌​F
🤯​TestAccept/bundle/config-remote-sync/multiple_resources/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/output_json✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/output_json/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/output_json/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/output_no_changes✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/output_no_changes/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/output_no_changes/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/pipeline_fields🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s✅​p🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/pipeline_fields/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/pipeline_fields/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/resolve_variables🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s✅​p🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/resolve_variables/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/resolve_variables/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/target_override✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/target_override/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/target_override/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/task_rename_revert✅​p🙈​s🤯​M🙈​s✅​p🙈​s✅​p🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/task_rename_revert/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/config-remote-sync/task_rename_revert/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle/DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_YAML_SYNC=/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle/DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_YAML_SYNC=/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle/DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_YAML_SYNC=true/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle/DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_YAML_SYNC=true/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/files/no-snapshot-sync✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/files/no-snapshot-sync/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/files/no-snapshot-sync/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/mlops-stacks✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/mlops-stacks/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/mlops-stacks/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/snapshot-comparison✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deploy/snapshot-comparison/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
❌​TestAccept/bundle/deploy/spark-jar-task✅​p✅​p🤯​M❌​F✅​p✅​p✅​p✅​p✅​p✅​p
❌​TestAccept/bundle/deploy/spark-jar-task/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M❌​F✅​p✅​p✅​p✅​p✅​p✅​p
❌​TestAccept/bundle/deploy/spark-jar-task/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M❌​F✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/catalog🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/catalog/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/cluster✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/cluster/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/cluster/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/recreation✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/recreation/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/recreation/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/experiment✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/experiment/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/experiment/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/generate-and-bind✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/generate-and-bind/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/generate-and-bind/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-abort-bind✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-abort-bind/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-abort-bind/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-spark-python-task✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-spark-python-task/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-spark-python-task/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/model-serving-endpoint✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/model-serving-endpoint/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/model-serving-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/pipelines/recreate✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/pipelines/recreate/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/pipelines/recreate/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/registered-model🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/registered-model/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/registered-model/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/schema🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/schema/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/schema/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/secret-scope🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/secret-scope/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/secret-scope/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/vector_search_endpoint🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/vector_search_endpoint/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/vector_search_index🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/vector_search_index/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/volume🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/volume/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/volume/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/unbind/grants🙈​s🙈​s🤯​M✅​p🙈​s🙈​s✅​p✅​p🙈​s🙈​s
🤯​TestAccept/bundle/deployment/unbind/grants/DATABRICKS_BUNDLE_ENGINE=direct🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/unbind/grants/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/unbind/permissions✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/unbind/permissions/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/unbind/permissions/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/destroy/jobs-and-pipeline✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/destroy/jobs-and-pipeline/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/destroy/jobs-and-pipeline/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/alert✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/auto-bind✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/auto-bind/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/pipeline_and_deploy✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/pipeline_and_deploy/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/pipeline_and_deploy/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p✅​p
🤯​TestAccept/bundle/generate/python_job_and_deploy✅​p✅​p🤯​M✅​p✅​p✅​p✅​p✅​p✅​p🔄​f
Top 50 slowest tests (at least 2 minutes):
durationenvtestname
34:26aws-ucws linuxTestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension/DATABRICKS_BUNDLE_ENGINE=direct
28:25aws-ucws windowsTestAccept/bundle/resources/vector_search_indexes/basic/DATABRICKS_BUNDLE_ENGINE=direct
27:49aws-ucws windowsTestAccept/bundle/invariant/no_drift/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
26:49gcp linuxTestAccept/bundle/resources/sql_warehouses/lifecycle-started-toggle/DATABRICKS_BUNDLE_ENGINE=direct
26:26aws-ucws linuxTestAccept/bundle/resources/vector_search_indexes/grants/select/DATABRICKS_BUNDLE_ENGINE=direct
26:12aws-ucws linuxTestAccept/bundle/resources/vector_search_indexes/basic/DATABRICKS_BUNDLE_ENGINE=direct
25:10aws-ucws windowsTestAccept/bundle/invariant/continue_293/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
20:32azure-ucws windowsTestAccept/bundle/resources/vector_search_indexes/basic/DATABRICKS_BUNDLE_ENGINE=direct
18:39azure-ucws linuxTestAccept/bundle/invariant/continue_293/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
16:41aws windowsTestAccept/bundle/resources/sql_warehouses/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
15:43aws-ucws linuxTestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
15:19azure linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
15:17gcp linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
15:07azure-ucws windowsTestAccept/bundle/resources/vector_search_indexes/grants/select/DATABRICKS_BUNDLE_ENGINE=direct
14:34azure-ucws linuxTestAccept/bundle/invariant/no_drift/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
14:18azure-ucws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
13:34gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
13:24gcp windowsTestAccept/bundle/resources/clusters/deploy/local_ssd_count/DATABRICKS_BUNDLE_ENGINE=direct
13:19azure linuxTestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
13:13azure-ucws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
12:49azure linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
12:48aws linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
12:42aws-ucws linuxTestAccept/bundle/resources/clusters/lifecycle-started-toggle/DATABRICKS_BUNDLE_ENGINE=direct
12:26aws linuxTestAccept/bundle/resources/sql_warehouses/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
12:22gcp linuxTestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
12:18gcp windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=direct
12:13aws-ucws linuxTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=terraform
12:10gcp windowsTestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
12:05aws-ucws linuxTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=direct
11:52azure-ucws linuxTestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
11:50azure windowsTestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
11:42azure-ucws linuxTestAccept/bundle/config-remote-sync/multiple_resources/DATABRICKS_BUNDLE_ENGINE=terraform
11:35azure linuxTestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=terraform
11:30aws-ucws linuxTestAccept/bundle/resources/sql_warehouses/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
11:04azure windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
10:49gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
10:49gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=USER_ISOLATION
10:47azure linuxTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
10:46aws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
10:45azure windowsTestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform
10:24gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=direct/DATA_SECURITY_MODE=SINGLE_USER
10:19azure-ucws linuxTestAccept/bundle/integration_whl/wrapper_custom_params/DATABRICKS_BUNDLE_ENGINE=terraform
10:13aws windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
10:07aws-ucws windowsTestAccept/bundle/resources/sql_warehouses/lifecycle-started-toggle/DATABRICKS_BUNDLE_ENGINE=direct
9:58azure-ucws linuxTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=direct
9:58aws linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
9:49aws-ucws windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
9:42gcp windowsTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform
9:36gcp linuxTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
9:35azure linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
(440 table rows omitted to keep the report under 60000 bytes)

deco-sdk-taggingBot added a commit that referenced this pull request Jun 17, 2026
## Release v1.4.0
### CLI
* Improved error messages for `ssh connect`: when an SSH connection attempt fails, the client now fetches and prints the server's recent error logs ([#5555](#5555)).
* Increase the SSH server startup timeout from 10 to 45 minutes when a GPU accelerator is requested via `databricks ssh connect --accelerator` ([#5569](#5569)).
* Fix authentication falling back to the default profile in `.databrickscfg` when a host is already configured via the environment (e.g. `DATABRICKS_HOST` with `DATABRICKS_TOKEN`) ([#5616](#5616)).
* ssh: fix opening remote environment in Cursor, which previously hung on default-extension install and never opened the editor ([#5619](#5619)).
* Improve the error shown when `databricks labs install` cannot find a project's `labs.yml`: the message now explains that either the requested version does not exist or the project is not installable with the CLI, and links to the repository ([#5559](#5559)).
### Bundles
* Remove API enum values and types that are still in development from the `databricks-bundles` Python package; these were never accepted by the backend ([#5484](#5484)).
* direct: Fix resolving a resource reference that is used more than once within the same field ([#5558](#5558)).
* Bundle variable references now accept Unicode letters in path segments (e.g. `${var.变量}`). ([#5532](#5532))
* Ignore remote changes for vector search direct_access_index_spec.schema_json to prevent drift when the backend normalizes the schema ([#5481](#5481)).
* Remove hidden, never-functional `--existing-dashboard-id`, `--existing-dashboard-path`, `--existing-alert-id`, and `--existing-genie-space-id` alias flags from `bundle generate`; use the documented `--existing-id` / `--existing-path` flags instead ([#5591](#5591)).
* engine/direct: Fix WAL corruption after two consecutive failed deploys ([#5606](#5606)).
* engine/direct: Don't open the deployment state WAL when a deploy's plan fails ([#5607](#5607)).
* Ignore unity catalog managed schema property defaults to avoid unnecessary drift ([#5195](#5195)).
* Add `postgres_roles` and `postgres_databases` resources to create Postgres roles and databases on a Lakebase branch ([#5467](#5467), [#5627](#5627)).
* direct: Stop spurious recreate/rename on redeploy when the backend normalizes a resource's name-based ID (e.g. Unity Catalog lowercasing a schema or volume name) ([#5599](#5599)).
* Fix the generated pipeline README to suggest `databricks bundle run <pipeline> --refresh <table>` for running a single transformation; the previously documented `--select` flag is not supported by `bundle run` ([#5252](#5252)).
Sign up for freeto 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.

3 participants

@anton-107@eng-dev-ecosystem-bot@rugpanov