Skip to content

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

Open
denik wants to merge 7 commits into
mainfrom
denik/new-deploy-output
Open

bundle deploy/destroy: report per-resource actions and a summary#5720
denik wants to merge 7 commits 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

github-actions Bot commented Jun 25, 2026

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

548 files changed
Suggested: @pietern
Also eligible: @janniklasrose, @andrewnester, @shreyas-goenka, @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: @janniklasrose, @andrewnester, @shreyas-goenka, @lennartkats-db, @anton-107

/cmd/bundle/ - needs approval

Files: cmd/bundle/deploy.go, cmd/bundle/plan.go
Suggested: @pietern
Also eligible: @janniklasrose, @andrewnester, @shreyas-goenka, @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: .nextchanges/notable-changes/deploy-summary.md, acceptance/cache/simple/output.txt
Based on git history:

  • @pietern -- recent work in bundle/phases/, bundle/, bundle/deployplan/

Any maintainer (@andrewnester, @anton-107, @pietern, @shreyas-goenka, @simonfaltum, @renaudhartert-db, @janniklasrose, @lennartkats-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: 72b3804

Run: 30024515953

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 4 4 322 1059 5:41
💚​ aws windows 4 4 324 1057 5:08
💚​ azure linux 4 4 322 1058 5:43
💚​ azure windows 4 4 324 1056 5:03
💚​ gcp linux 1 5 321 1060 6:08
💚​ gcp windows 1 5 323 1058 4:30
8 interesting tests: 4 RECOVERED, 4 SKIP
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
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R
Top 3 slowest tests (at least 2 minutes):
duration env testname
3:40 aws windows TestAccept
3:33 azure windows TestAccept
3:18 gcp windows TestAccept

@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
denik added 2 commits July 23, 2026 08:33
`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
The rebase landed the NotSelected assignment inside enqueueReachable
instead of at the end of FilterToSelected. Move it back so it runs once
after the BFS prune completes.

Co-authored-by: Isaac
@denik
denik force-pushed the denik/new-deploy-output branch from 5d6d622 to 139c45e Compare July 23, 2026 08:51
The rebase pulled in many acceptance tests added on main after this
branch point (postgres_*, genie_spaces, migrate variants, etc.) that
exercise deploy/destroy output. Regenerate their goldens for the new
per-resource-action + summary format.

Also normalize the Destroy: count in the delete-trashed-out-of-band
dashboard test via a Repls entry: terraform refreshes the trashed
dashboard away and reports "0 deleted" while direct still counts it, so
the count diverges per engine.

Co-authored-by: Isaac
@denik
denik marked this pull request as ready for review July 23, 2026 14:12
denik added 4 commits July 23, 2026 17:31
mlops-stacks is a Cloud-only test (Local=false), so ./task test-update
cannot regenerate it locally. Hand-update its golden to the new
per-resource-action + summary format: 4 fresh creates and a matching
Destroy: 4 deleted line. Resource order matches the destroy list already
in the golden. This was the only integration-test failure after the
deploy/destroy output change.

Co-authored-by: Isaac
Regenerated against AWS cloud via deco. The prior hand-edit undercounted:
each resource also deploys a .permissions or .grants sub-node, so deploy
reports 8 created, not 4. Destroy still counts the 4 top-level resources.

Co-authored-by: Isaac
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