Repository navigation
Update Databricks CLI to v1.20.0 and remove Terraform bundling - #2243
Merged
Merged
Conversation
*Why*: * CLI v1.20.0 removes the Terraform deployment engine and the hidden `bundle debug terraform` command. * Packaging called that command to download Terraform and the provider, so the VSIX build failed and every e2e job failed with it. * With the engine gone, the bundled Terraform binary, the `DATABRICKS_TF_*` env vars, and the Terraform-engine warning are dead code. *What:* * Bump `cli.version` to 1.20.0. * Stop bundling Terraform: delete `setupCLIDependencies.ts` and its step (plus the host-CLI download it needed) in `package-vsix.sh`, and the now-unused `BUILD_PLATFORM_ARCH`. * Remove `terraformUtils.ts`, the `DATABRICKS_TF_*` env vars from CLI and terminal environments, and the Terraform CLI config write on activation. The terminal env collection is already cleared on each activation, so old values do not stay. * Remove the Terraform-engine warning (`BundleEngineManager`), its telemetry event, its state key, and the `engine` field it read from validate output. CLI v1.20.0 rejects `engine: terraform`, so the warning can no longer show. * Drop the now-unused `extract-zip` dev dependency and fix Terraform mentions in comments. *Verification:* * `yarn install --immutable`, `yarn run build`, `yarn run test:lint`: pass. * Unit tests against the bundled CLI v1.20.0: 1290 passing, 0 failing. * `./scripts/package-vsix.sh darwin-arm64`: VSIX builds; `extension/bin/` has only `databricks`, and the packaged `package.json` has no `terraformMetadata`. Co-authored-by: Isaac <no-reply@databricks.com>
Contributor
Author
|
🤖 Integration tests running for |
*Why*: * The edited comment broke mid-sentence on a short line. *What:* * Reflow the comment into full lines. *Verification:* * Prettier and ESLint pass on the file. Co-authored-by: Isaac <no-reply@databricks.com>
Contributor
Author
|
🤖 Integration tests ❌ failed for |
rugpanov
marked this pull request as ready for review
October 8, 2026 14:17
anton-107
approved these changes
Oct 9, 2026
Contributor
|
If integration tests don't run automatically, an authorized user can run them manually by following the instructions below: Trigger: Inputs:
Checks will be approved automatically on success. |
Contributor
Author
|
🤖 Integration tests ❌ failed for |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Databricks CLI v1.20.0 removes the Terraform deployment engine and the hidden
bundle debug terraformcommand. Packaging called that command to download Terraform and the Databricks provider. Thus #2241, the plain version bump, fails packaging, and all e2e jobs fail with it. This PR replaces #2241.Fixes #2166: the VSIX no longer ships the Terraform v1.5.5 binary that security scans flag.
bin/databricks. ThesetupCLIDependencies.tspackaging step and its host-CLI download are gone.DATABRICKS_TF_*variables for CLI processes and integrated terminals, and stop writing the Terraform CLI config on activation. The extension clears its terminal variables on each activation, so old values do not stay.bundleTerraformEngineWarningtelemetry event, and itsdatabricks.bundle.hideTerraformEngineWarningstate key. CLI v1.20.0 rejectsengine: terraformin validate, so the warning cannot show.Backward compatibility
bundle.engine, links the migration guide, and migrates existing Terraform state automatically.databricks.cli.path, or put an olderdatabricksfirst onPATHin a terminal. That CLI no longer gets the bundled Terraform. It downloads Terraform at runtime, and this fails on restricted networks. We accept this, because the extension moves to the direct engine.Tests
yarn run buildandyarn run test:lintpass../scripts/package-vsix.sh darwin-arm64: the VSIX builds.extension/bin/contains onlydatabricks, and the packagedpackage.jsonhas noterraformMetadata.deploy_and_run_jobon Linux timed out while it waited for the job run status. The deploy step had already passed. The re-run of that job passed.This pull request and its description were written by Isaac.