Skip to content

job_runs: plan skip for in-progress runs and trigger removal - #6357

Merged
radakam merged 3 commits into
mainfrom
job-runs-fix-update-actions
Aug 24, 2026
Merged

radakam merged 3 commits into
mainfrom
job-runs-fix-update-actions

Conversation

@radakam

@radakam radakam commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Changes

  • Plan skip for an in-progress run instead of update, and drop DoUpdate.
  • Plan skip when on_bundle_deploy is removed, instead of a state-only update.

Why

A run that is still going should not be recreated, but skip is the action that leaves it alone. That also means an interrupted wait is not resumed.

Removing a trigger requires no action: it should neither re-run the job nor report a resource update.

Tests

interrupted_run asserts skip for an in-progress run and records the Badness that the next deploy does not wait. on_bundle_deploy covers trigger removal as unchanged.

@radakam
radakam marked this pull request as ready for review August 24, 2026 10:04
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 59d0cb6

Run: 32726557408

Env 🔄​flaky 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 1 4 274 1167 8:39
🔄​ aws windows 1 1 4 275 1165 9:01
💚​ azure linux 1 4 273 1167 14:16
💚​ azure windows 1 4 275 1165 8:05
💚​ gcp linux 1 4 274 1167 7:41
💚​ gcp windows 1 4 276 1165 8:08
6 interesting tests: 4 SKIP, 1 RECOVERED, 1 flaky
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🔄​ TestSyncIncrementalFileSync ✅​p 🔄​f ✅​p ✅​p ✅​p ✅​p
Top 7 slowest tests (at least 2 minutes):
duration env testname
3:57 azure windows TestAccept
3:51 azure linux TestLock
3:19 gcp windows TestFilerWorkspaceFilesExtensionsReadDir
3:11 gcp windows TestAccept
2:58 aws windows TestAccept
2:42 gcp windows TestFilerWorkspaceFilesExtensionsRead
2:20 aws windows TestFilerRecursiveDelete/workspace_files

Keep update semantics for adopting an in-progress run while moving its wait to the framework hook, and treat removal of on_bundle_deploy as unchanged.
@radakam
radakam force-pushed the job-runs-fix-update-actions branch from c8fbdd5 to 86fe2a3 Compare August 24, 2026 11:00
@radakam
radakam enabled auto-merge August 24, 2026 11:00
Comment thread bundle/direct/dresources/job_run.go Outdated
@denik
denik self-requested a review August 24, 2026 11:08
@denik

denik commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

job_runs: separate adoption wait from trigger removal

I don't understand this. Why not: "plan skip rather than update when job run is in progress"

@radakam
radakam disabled auto-merge August 24, 2026 11:11
A run that is still going should not be recreated, but skip is the plan
action that leaves it alone. That also drops DoUpdate, so an interrupted
wait is not resumed; interrupted_run records that limitation.
@radakam radakam changed the title job_runs: separate adoption wait from trigger removal job_runs: plan skip for in-progress runs and trigger removal Aug 24, 2026

@denik denik left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be included in .nextchanges as well, since it's affects user-visible plan

@radakam
radakam enabled auto-merge August 24, 2026 12:20
@radakam
radakam added this pull request to the merge queue Aug 24, 2026
Merged via the queue into main with commit 15e3d2f Aug 24, 2026
24 checks passed
@radakam
radakam deleted the job-runs-fix-update-actions branch August 24, 2026 13:02
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 15e3d2f

Run: 32730454241

Env ❌​FAIL 🟨​KNOWN 🔄​flaky 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
🔄​ aws linux 12 3 2 1173 965 350:00
❌​ aws windows 6 4 3 2 1114 984 347:58
🔄​ azure linux 17 2 2 1063 1002 336:30
❌​ azure windows 22 1 2 2 996 1021 318:59
❌​ gcp linux 6 8 3 2 1055 1006 354:42
🔄​ gcp windows 3 2 2 1006 1025 343:26
68 interesting tests: 32 FAIL, 32 flaky, 2 SKIP, 1 KNOWN, 1 RECOVERED
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
🟨​ TestAccept 💚​R 💚​R 💚​R 🟨​K 💚​R 🔄​f
❌​ TestAccept/bundle/deploy/snapshot-comparison ✅​p ✅​p ✅​p ✅​p ❌​F ✅​p
❌​ TestAccept/bundle/deploy/snapshot-comparison/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ✅​p ❌​F ✅​p
🔄​ TestAccept/bundle/deployment/bind/pipelines/recreate ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/deployment/bind/pipelines/recreate/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
❌​ TestAccept/bundle/destroy/jobs-and-pipeline ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/destroy/jobs-and-pipeline/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/destroy/root-path-name-target ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/destroy/root-path-name-target/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/destroy/root-path-name-target/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/destroy/root-path-not-scoped ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/destroy/root-path-not-scoped/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
🔄​ TestAccept/bundle/invariant/destroy_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=job_with_task.yml.tmpl/READPLAN=1 ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/invariant/destroy_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=volume_uppercase_name.yml.tmpl/READPLAN= ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/invariant/destroy_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=volume_uppercase_name.yml.tmpl/READPLAN=1 ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
💚​ TestAccept/bundle/invariant/no_drift 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
❌​ TestAccept/bundle/resource_deps/remote_field_storage_location ✅​p ❌​F 🙈​s 🙈​s 🙈​s 🙈​s
❌​ TestAccept/bundle/resource_deps/remote_field_storage_location/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ❌​F
🔄​ TestAccept/bundle/resources/apps/inline_config ✅​p ✅​p 🔄​f ✅​p 🔄​f ✅​p
🔄​ TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p 🔄​f ✅​p 🔄​f ✅​p
❌​ TestAccept/bundle/resources/apps/lifecycle-started ✅​p ❌​F ✅​p ✅​p ✅​p ✅​p
❌​ TestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ❌​F ✅​p ✅​p ✅​p ✅​p
❌​ TestAccept/bundle/resources/clusters/deploy/update-after-create ✅​p ❌​F ✅​p ✅​p ✅​p 🔄​f
❌​ TestAccept/bundle/resources/clusters/deploy/update-after-create/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ❌​F ✅​p ✅​p ✅​p 🔄​f
❌​ TestAccept/bundle/resources/clusters/lifecycle-started-toggle ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/dashboards/change-name ✅​p ✅​p ✅​p ✅​p ❌​F ✅​p
❌​ TestAccept/bundle/resources/dashboards/change-name/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ✅​p ❌​F ✅​p
❌​ TestAccept/bundle/resources/dashboards/change-parent-path ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/dashboards/change-parent-path/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
🔄​ TestAccept/bundle/resources/grants/registered_models 🔄​f ✅​p ✅​p ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/grants/registered_models/DATABRICKS_BUNDLE_ENGINE=terraform 🔄​f ✅​p ✅​p ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/grants/schemas/all_privileges_coexist ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/grants/schemas/all_privileges_coexist/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
❌​ TestAccept/bundle/resources/grants/schemas/change_privilege ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/grants/schemas/change_privilege/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/grants/schemas/remove_all ✅​p ✅​p ✅​p ❌​F ❌​F ✅​p
🔄​ TestAccept/bundle/resources/grants/schemas/remove_all/DATABRICKS_BUNDLE_ENGINE=direct 🔄​f ✅​p ✅​p ✅​p ✅​p ✅​p
❌​ TestAccept/bundle/resources/grants/schemas/remove_all/DATABRICKS_BUNDLE_ENGINE=terraform 🔄​f ✅​p ✅​p ❌​F ❌​F ✅​p
🔄​ TestAccept/bundle/resources/grants/schemas/remove_principal 🔄​f ✅​p 🔄​f ✅​p 🔄​f ✅​p
🔄​ TestAccept/bundle/resources/grants/schemas/remove_principal/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ✅​p ✅​p ✅​p 🔄​f ✅​p
🔄​ TestAccept/bundle/resources/grants/schemas/remove_principal/DATABRICKS_BUNDLE_ENGINE=terraform 🔄​f ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/model_serving_endpoints/basic ✅​p ✅​p ✅​p ✅​p 🔄​f ✅​p
🔄​ TestAccept/bundle/resources/model_serving_endpoints/basic/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ✅​p 🔄​f ✅​p
🔄​ TestAccept/bundle/resources/permissions/dashboards/create 🔄​f ✅​p ✅​p ✅​p 🙈​s 🙈​s
🔄​ TestAccept/bundle/resources/permissions/dashboards/create/DATABRICKS_BUNDLE_ENGINE=direct 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/permissions/jobs/current_can_manage_run ✅​p 🔄​f ✅​p ✅​p 🙈​s 🙈​s
🔄​ TestAccept/bundle/resources/permissions/jobs/current_can_manage_run/DATABRICKS_BUNDLE_ENGINE=direct ✅​p 🔄​f ✅​p ✅​p
🔄​ TestAccept/bundle/resources/pipelines/lakeflow-pipeline ✅​p ✅​p ✅​p ✅​p 🔄​f ✅​p
🔄​ TestAccept/bundle/resources/pipelines/lakeflow-pipeline/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p ✅​p ✅​p 🔄​f ✅​p
🔄​ TestAccept/bundle/resources/postgres_databases/recreate ✅​p 🔄​f 🙈​s 🙈​s 🙈​s 🙈​s
🔄​ TestAccept/bundle/resources/postgres_databases/recreate/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/quality_monitors/change_assets_dir ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/quality_monitors/change_assets_dir/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
❌​ TestAccept/bundle/resources/secret_scopes/basic 🔄​f ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/secret_scopes/basic/DATABRICKS_BUNDLE_ENGINE=terraform 🔄​f ✅​p ✅​p ❌​F ✅​p ✅​p
🔄​ TestAccept/bundle/resources/secret_scopes/delete_scope 🔄​f ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/secret_scopes/delete_scope/DATABRICKS_BUNDLE_ENGINE=direct 🔄​f ✅​p ✅​p ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/secret_scopes/delete_scope/DATABRICKS_BUNDLE_ENGINE=terraform ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
❌​ TestAccept/bundle/resources/secrets/basic ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/secrets/basic/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
🔄​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 💚​R 💚​R 🔄​f 💚​R 💚​R 💚​R
🔄​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name/DATABRICKS_BUNDLE_ENGINE=direct ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
❌​ TestAccept/bundle/select/basic ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/select/basic/DATABRICKS_BUNDLE_ENGINE=direct/READPLAN= ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/select/basic/DATABRICKS_BUNDLE_ENGINE=direct/READPLAN=1 ✅​p ✅​p ✅​p ❌​F ✅​p ✅​p
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
Top 50 slowest tests (at least 2 minutes):
duration env testname
20:05 gcp linux TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DATABRICKS_BUNDLE_ENGINE=direct
16:42 gcp windows TestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
16:09 gcp linux TestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
13:43 aws linux TestAccept/bundle/deploy/spark-jar-task/DATABRICKS_BUNDLE_ENGINE=terraform
13:32 aws linux TestAccept/bundle/invariant/delete_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=
13:29 gcp linux TestAccept/bundle/config-remote-sync/multiple_resources/DATABRICKS_BUNDLE_ENGINE=direct
11:36 azure linux TestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
11:28 aws windows TestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
10:49 gcp windows TestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
10:28 aws linux TestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
10:22 gcp linux TestAccept/bundle/resources/clusters/resize-terminated-fallback/DATABRICKS_BUNDLE_ENGINE=direct
10:05 gcp linux TestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
9:57 gcp windows TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DATABRICKS_BUNDLE_ENGINE=direct
9:56 aws windows TestAccept/bundle/invariant/delete_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=1
9:56 azure windows TestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
9:20 gcp windows TestAccept/bundle/resources/apps/lifecycle-started-omitted/DATABRICKS_BUNDLE_ENGINE=direct
9:11 aws linux TestAccept/bundle/invariant/delete_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=
9:08 aws windows TestAccept/bundle/invariant/delete_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=
9:04 gcp windows TestAccept/bundle/invariant/destroy_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
8:55 aws linux TestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
8:48 aws linux TestAccept/bundle/invariant/delete_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=1
8:47 gcp windows TestAccept/bundle/invariant/destroy_idempotent/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=
8:39 gcp linux TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DATABRICKS_BUNDLE_ENGINE=direct
8:25 aws windows TestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=yes/NBOOK=no/PY=yes/READPLAN=
8:23 azure linux TestAccept/bundle/quiet-levels/DATABRICKS_BUNDLE_ENGINE=terraform
8:18 azure linux TestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
8:11 gcp windows TestAccept/bundle/quiet-levels/DATABRICKS_BUNDLE_ENGINE=direct
7:57 azure windows TestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
7:49 gcp linux TestAccept/bundle/deploy/spark-jar-task/DATABRICKS_BUNDLE_ENGINE=terraform
7:45 gcp windows TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DATABRICKS_BUNDLE_ENGINE=direct
7:38 azure linux TestAccept/bundle/resources/apps/lifecycle-started-omitted/DATABRICKS_BUNDLE_ENGINE=direct
7:34 aws windows TestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=yes/NBOOK=yes/PY=yes/READPLAN=
7:29 aws linux TestAccept/bundle/templates/default-python/combinations/classic/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=no/NBOOK=yes/PY=yes/READPLAN=
7:25 azure windows TestAccept/bundle/quiet-levels/DATABRICKS_BUNDLE_ENGINE=terraform
7:23 aws windows TestAccept/bundle/quiet-levels/DATABRICKS_BUNDLE_ENGINE=terraform
7:23 aws linux TestAccept/bundle/resources/apps/lifecycle-started-omitted/DATABRICKS_BUNDLE_ENGINE=direct
7:23 gcp linux TestAccept/bundle/quiet-levels/DATABRICKS_BUNDLE_ENGINE=direct
7:08 azure windows TestAccept/bundle/resources/secret_scopes/permissions/DATABRICKS_BUNDLE_ENGINE=terraform
7:05 gcp linux TestAccept/bundle/resources/apps/lifecycle-started-omitted/DATABRICKS_BUNDLE_ENGINE=direct
7:02 aws linux TestAccept/bundle/templates/default-python/combinations/classic/DATABRICKS_BUNDLE_ENGINE=direct/DLT=yes/NBOOK=yes/PY=yes/READPLAN=
7:00 gcp windows TestAccept/bundle/deploy/spark-jar-task/DATABRICKS_BUNDLE_ENGINE=terraform
6:59 aws windows TestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=direct/DLT=yes/NBOOK=yes/PY=yes/READPLAN=
6:59 azure linux TestAccept/bundle/config-remote-sync/multiple_resources/DATABRICKS_BUNDLE_ENGINE=terraform
6:54 aws windows TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DATABRICKS_BUNDLE_ENGINE=direct
6:53 gcp windows TestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
6:52 aws windows TestAccept/bundle/resources/models/basic/DATABRICKS_BUNDLE_ENGINE=terraform
6:49 aws linux TestAccept/bundle/templates/default-python/combinations/classic/DATABRICKS_BUNDLE_ENGINE=terraform/DLT=no/NBOOK=yes/PY=no/READPLAN=
6:48 gcp linux TestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=direct/UV_PYTHON=3.9
6:36 gcp windows TestAccept/bundle/templates/default-python/integration_classic/DATABRICKS_BUNDLE_ENGINE=direct/UV_PYTHON=3.9
6:36 azure windows TestAccept/bundle/templates/default-python/combinations/serverless/DATABRICKS_BUNDLE_ENGINE=direct/DLT=yes/NBOOK=no/PY=yes/READPLAN=

denik added a commit that referenced this pull request Aug 25, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
deco-sdk-tagging Bot added a commit that referenced this pull request Aug 26, 2026
## Release v1.14.0

### Notable Changes

 * Bundles still on Terraform state are now migrated to the direct engine automatically, after a deploy whose dry-run conversion comes back clean. To opt out, set `engine: terraform` under `bundle` or `DATABRICKS_BUNDLE_ENGINE=terraform`. See https://docs.databricks.com/aws/en/dev-tools/bundles/direct

### CLI

 * Fixed idle `databricks ssh connect` sessions disconnecting after a few minutes, on dedicated clusters and on serverless. The tunnel now keeps itself warm: the SSH client and the SSH server on the compute exchange keepalives every 30 seconds, and the CLI's proxy pings the tunnel's websocket every 20 seconds. A session nobody is typing into stays connected, with no need to set `ServerAliveInterval` by hand.

### Bundles

 * `bundle plan` no longer reports a permanent, unconvergeable update on `securable_kind` for Unity Catalog `TABLE` securables declared under an app's `resources`. The field is computed by the backend (output-only), so it is now ignored during drift detection. Direct engine only ([#6342](#6342)).
 * Add support for the `cluster_policies` resource type in Declarative Automation Bundles. Cluster policies are only supported in direct deployment mode.
 * `bundle destroy` no longer counts resources that are already gone remotely in its `Destroy: N deleted` summary. Such deletes only clean up stale state and are not listed under the deletion prompt, so they are now excluded from the count as well, matching the terraform engine.
 * `bundle destroy` now also removes the directory named after the bundle, not just the target directory beneath it, when `workspace.root_path` ends in `${bundle.name}/${bundle.target}` — which includes the default root path. It is removed non-recursively, so it stays in place while another target of the same bundle is still deployed there. Previously every destroy left an empty directory behind ([#6317](#6317)).
 * `job_runs` now plans skip for a run that is still in progress and when `on_bundle_deploy` is removed, instead of treating either case as an update. ([#6357](#6357))
 * Added `DATABRICKS_BUNDLE_RESOURCE_MAX_WAIT` (in seconds) to cap how long deploy and destroy wait for a resource. Direct engine only.
 * Fixed `bundle deploy` on the direct engine failing with `Nothing to update`, or reporting a change it never applied, when a schema, catalog, volume, registered model or external location field was removed from the configuration or set outside the bundle. The update now sends the fields the plan reports as cleared instead of dropping them.

### Dependency Updates

 * Bump `github.com/databricks/databricks-sdk-go` from v0.171.0 to v0.175.0 ([#6322](#6322)).
 * Bump Terraform provider from v1.127.0 to v1.128.0 ([#6323](#6323)).
denik added a commit that referenced this pull request Sep 9, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 11, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 11, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 13, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 14, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 14, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 14, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 14, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 14, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
denik added a commit that referenced this pull request Sep 14, 2026
#6368 moved the deploy summary ahead of the postdeploy script and the migration,
and #6357 changed the job_runs tests.

Co-authored-by: Isaac
janniklasrose pushed a commit that referenced this pull request Sep 15, 2026
## Changes

- Plan skip for an in-progress run instead of update, and drop
`DoUpdate`.
- Plan skip when `on_bundle_deploy` is removed, instead of a state-only
update.

## Why

A run that is still going should not be recreated, but skip is the
action that leaves it alone. That also means an interrupted wait is not
resumed.

Removing a trigger requires no action: it should neither re-run the job
nor report a resource update.

## Tests

`interrupted_run` asserts skip for an in-progress run and records the
Badness that the next deploy does not wait. `on_bundle_deploy` covers
trigger removal as unchanged.
janniklasrose pushed a commit that referenced this pull request Sep 15, 2026
## Release v1.14.0

### Notable Changes

 * Bundles still on Terraform state are now migrated to the direct engine automatically, after a deploy whose dry-run conversion comes back clean. To opt out, set `engine: terraform` under `bundle` or `DATABRICKS_BUNDLE_ENGINE=terraform`. See https://docs.databricks.com/aws/en/dev-tools/bundles/direct

### CLI

 * Fixed idle `databricks ssh connect` sessions disconnecting after a few minutes, on dedicated clusters and on serverless. The tunnel now keeps itself warm: the SSH client and the SSH server on the compute exchange keepalives every 30 seconds, and the CLI's proxy pings the tunnel's websocket every 20 seconds. A session nobody is typing into stays connected, with no need to set `ServerAliveInterval` by hand.

### Bundles

 * `bundle plan` no longer reports a permanent, unconvergeable update on `securable_kind` for Unity Catalog `TABLE` securables declared under an app's `resources`. The field is computed by the backend (output-only), so it is now ignored during drift detection. Direct engine only ([#6342](#6342)).
 * Add support for the `cluster_policies` resource type in Declarative Automation Bundles. Cluster policies are only supported in direct deployment mode.
 * `bundle destroy` no longer counts resources that are already gone remotely in its `Destroy: N deleted` summary. Such deletes only clean up stale state and are not listed under the deletion prompt, so they are now excluded from the count as well, matching the terraform engine.
 * `bundle destroy` now also removes the directory named after the bundle, not just the target directory beneath it, when `workspace.root_path` ends in `${bundle.name}/${bundle.target}` — which includes the default root path. It is removed non-recursively, so it stays in place while another target of the same bundle is still deployed there. Previously every destroy left an empty directory behind ([#6317](#6317)).
 * `job_runs` now plans skip for a run that is still in progress and when `on_bundle_deploy` is removed, instead of treating either case as an update. ([#6357](#6357))
 * Added `DATABRICKS_BUNDLE_RESOURCE_MAX_WAIT` (in seconds) to cap how long deploy and destroy wait for a resource. Direct engine only.
 * Fixed `bundle deploy` on the direct engine failing with `Nothing to update`, or reporting a change it never applied, when a schema, catalog, volume, registered model or external location field was removed from the configuration or set outside the bundle. The update now sends the fields the plan reports as cleared instead of dropping them.

### Dependency Updates

 * Bump `github.com/databricks/databricks-sdk-go` from v0.171.0 to v0.175.0 ([#6322](#6322)).
 * Bump Terraform provider from v1.127.0 to v1.128.0 ([#6323](#6323)).
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.

3 participants