Skip to content

bundle deploy/destroy: report per-resource actions and a summary#5720

Draft
denik wants to merge 1 commit into
mainfrom
denik/new-deploy-output
Draft

bundle deploy/destroy: report per-resource actions and a summary#5720
denik wants to merge 1 commit into
mainfrom
denik/new-deploy-output

Conversation

@denik

@denik denik commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

bundle deploy now lists the per-resource actions and a summary line, mirroring bundle plan, instead of generic progress chatter:

created jobs.foo
deleted pipelines.bar

Deploy: 1 created, 0 changed, 1 deleted, 3 unchanged.

bundle destroy gets a matching summary line (Destroy: N deleted.), counting top-level resources to match its approval list.

Details

  • Add CountActions()/ActionCounts and NotSelected to deployplan.Plan.
  • Add --quiet/-q to plan, deploy and pipelines deploy to print only the summary line.
  • With --select, the summary appends , N not selected.
  • Drop progress chatter: Deploying resources..., Deployment complete!, Updating deployment state..., Deleting files..., Destroy complete!.

A few acceptance tests where the engines genuinely diverge per-resource (secret-scope/grant/permission sub-resources, cluster resize verb, no-op update detection) use deploy -q | grep -v '^Deploy:' to stay engine-stable.

This pull request and its description were written by Isaac.

@denik denik temporarily deployed to test-trigger-is June 25, 2026 12:01 — with GitHub Actions Inactive
@denik denik temporarily deployed to test-trigger-is June 25, 2026 12:01 — with GitHub Actions Inactive
@github-actions

Copy link
Copy Markdown
Contributor

Approval status: pending

/acceptance/apps/ - needs approval

Files: acceptance/apps/deploy/bundle-no-args-with-flags/output.txt, acceptance/apps/deploy/bundle-no-args/output.txt
Suggested: @fjakobs
Also eligible: @MarioCadenas, @Shridhad, @atilafassina, @keugenek, @igrekun, @pkosiec, @pffigueiredo, @ditadi, @calvarjorge

/acceptance/bundle/ - needs approval

498 files changed
Suggested: @pietern
Also eligible: @shreyas-goenka, @janniklasrose, @andrewnester, @lennartkats-db, @anton-107

/acceptance/pipelines/ - needs approval

19 files changed
Suggested: @lennartkats-db
Also eligible: @kanterov, @jefferycheng1

/bundle/ - needs approval

7 files changed
Suggested: @pietern
Also eligible: @shreyas-goenka, @janniklasrose, @andrewnester, @lennartkats-db, @anton-107

/cmd/bundle/ - needs approval

Files: cmd/bundle/deploy.go, cmd/bundle/plan.go
Suggested: @pietern
Also eligible: @shreyas-goenka, @janniklasrose, @andrewnester, @lennartkats-db, @anton-107

/cmd/pipelines/ - needs approval

Files: cmd/pipelines/deploy.go
Suggested: @lennartkats-db
Also eligible: @kanterov, @jefferycheng1

General files (require maintainer)

Files: acceptance/cache/simple/output.txt
Based on git history:

  • @pietern -- recent work in bundle/phases/, bundle/, bundle/deploy/files/

Any maintainer (@andrewnester, @anton-107, @pietern, @shreyas-goenka, @simonfaltum, @renaudhartert-db) can approve all areas.
See OWNERS for ownership rules.

@denik denik marked this pull request as draft June 25, 2026 12:08
@eng-dev-ecosystem-bot

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

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 5d6d622

Run: 28175951256

Env 🪲​BUG ❌​FAIL 🟨​KNOWN 🔄​flaky 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
🪲​ aws linux 10 7 1 13 230 1026 12:07
🪲​ aws windows 10 7 1 13 232 1024 20:30
🪲​ aws-ucws linux 10 7 1 13 317 943 14:50
🪲​ aws-ucws windows 10 7 1 13 319 941 22:05
🪲​ azure linux 11 2 1 2 1 15 228 1024 14:41
🪲​ azure windows 11 2 1 2 1 15 230 1022 22:18
🪲​ azure-ucws linux 11 2 1 1 15 319 939 13:48
🪲​ azure-ucws windows 11 2 1 1 15 321 937 19:50
🪲​ gcp linux 11 2 1 1 15 229 1026 11:18
🪲​ gcp windows 11 2 1 1 15 231 1024 18:01
36 interesting tests: 13 SKIP, 11 BUG, 7 KNOWN, 2 FAIL, 2 flaky, 1 RECOVERED
Test Name aws linux aws windows aws-ucws linux aws-ucws windows azure linux azure windows azure-ucws linux azure-ucws windows gcp linux gcp windows
🟨​ TestAccept 🟨​K 🟨​K 🟨​K 🟨​K 🟨​K 🟨​K 🟨​K 🟨​K 🟨​K 🟨​K
🪲​ TestAccept/bundle/deploy/mlops-stacks 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🪲​ TestAccept/bundle/deploy/mlops-stacks/DATABRICKS_BUNDLE_ENGINE=direct 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🪲​ TestAccept/bundle/deploy/mlops-stacks/DATABRICKS_BUNDLE_ENGINE=terraform 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🪲​ TestAccept/bundle/deployment/bind/alert 🙈​s 🙈​s 🙈​s 🙈​s 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
❌​ TestAccept/bundle/deployment/bind/alert/DATABRICKS_BUNDLE_ENGINE=direct ❌​F ❌​F ❌​F ❌​F ❌​F ❌​F
❌​ TestAccept/bundle/deployment/bind/alert/DATABRICKS_BUNDLE_ENGINE=terraform ❌​F ❌​F ❌​F ❌​F ❌​F ❌​F
🪲​ TestAccept/bundle/destroy/jobs-and-pipeline 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🪲​ TestAccept/bundle/destroy/jobs-and-pipeline/DATABRICKS_BUNDLE_ENGINE=direct 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🪲​ TestAccept/bundle/destroy/jobs-and-pipeline/DATABRICKS_BUNDLE_ENGINE=terraform 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🪲​ TestAccept/bundle/generate/auto-bind 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🪲​ TestAccept/bundle/generate/auto-bind/DATABRICKS_BUNDLE_ENGINE=terraform 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🙈​ 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 🟨​K 🟨​K 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🟨​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct 🟨​K 🟨​K 🟨​K 🟨​K
🟨​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform 🟨​K 🟨​K 🟨​K 🟨​K
🟨​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions 🟨​K 🟨​K 🟨​K 🟨​K 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🟨​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct 🟨​K 🟨​K 🟨​K 🟨​K
🟨​ TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform 🟨​K 🟨​K 🟨​K 🟨​K
🙈​ 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_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/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🪲​ TestAccept/bundle/run_as/job_default 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🪲​ TestAccept/bundle/run_as/job_default/DATABRICKS_BUNDLE_ENGINE=direct 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B 🪲​B
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🔄​ TestFetchRepositoryInfoAPI_FromRepo/root ✅​p ✅​p ✅​p ✅​p 🔄​f 🔄​f ✅​p ✅​p ✅​p ✅​p
🔄​ TestFetchRepositoryInfoAPI_FromRepo/subdir ✅​p ✅​p ✅​p ✅​p 🔄​f 🔄​f ✅​p ✅​p ✅​p ✅​p
`bundle deploy` now lists the per-resource actions and a summary line,
mirroring `bundle plan`, instead of generic progress chatter:

    created jobs.foo
    deleted pipelines.bar

    Deploy: 1 created, 0 changed, 1 deleted, 3 unchanged.

`bundle destroy` gets a matching summary line (`Destroy: N deleted.`),
counting top-level resources to match its approval list.

Details:
- Add CountActions()/ActionCounts and NotSelected to deployplan.Plan.
- Add --quiet/-q to plan, deploy and pipelines deploy to print only the
  summary line.
- With --select, the summary appends ", N not selected".
- Drop progress chatter: "Deploying resources...", "Deployment complete!",
  "Updating deployment state...", "Deleting files...", "Destroy complete!".

A few acceptance tests where the engines genuinely diverge per-resource
(secret-scope/grant/permission sub-resources, cluster resize verb, no-op
update detection) use `deploy -q | grep -v '^Deploy:'` to stay engine-stable.

Co-authored-by: Isaac
@denik denik force-pushed the denik/new-deploy-output branch from 2e8f647 to 5d6d622 Compare June 25, 2026 14:04
@denik denik temporarily deployed to test-trigger-is June 25, 2026 14:04 — with GitHub Actions Inactive
@denik denik temporarily deployed to test-trigger-is June 25, 2026 14:04 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants