Fix --force-pull on bundle summary and bundle open#5028
Merged
simonfaltum merged 8 commits intomainfrom May 7, 2026
Merged
Conversation
Both commands declared the flag but never passed it into ProcessOptions.AlwaysPull, so it silently no-oped and users were served stale local state. Wire forcePull into AlwaysPull in both commands to match the pattern in pipelines open and bundle debug states. Co-authored-by: Isaac
andrewnester
approved these changes
May 7, 2026
| ### Bundles | ||
| * engine/direct: Drop the deployment state entry on a recreate before the follow-up `Create`, so a `Create` failure no longer leaves a broken state with `invalid state: empty id` on the next `bundle plan` ([#5173](https://github.com/databricks/cli/pull/5173)). | ||
|
|
||
| * engine/direct: Added support for Vector Search Endpoints ([#4887](https://github.com/databricks/cli/pull/4887)) |
Contributor
There was a problem hiding this comment.
This line seems to be obsolete here
That entry was already shipped in v0.299.0; addresses Andrew's review. Co-authored-by: Isaac
3 tasks
simonfaltum
added a commit
that referenced
this pull request
May 8, 2026
## Why The acceptance test added in #5028 was merged with CI red on every platform. Two follow-up issues: 1. **macOS**: the script bails at the first `print_requests.py` call because `bundle summary` without `--force-pull` makes zero HTTP requests, so `out.requests.txt` is never created after the `rm -f` earlier in the script. `print_requests.py` then exits with `File [TEST_TMP_DIR]/out.requests.txt not found`, and the rest of the script never runs. The test only runs on darwin (`GOOS.windows = false`, `GOOS.linux = false`), so this manifested as a macOS-only failure. 2. **Linux/Windows**: the post-test `git diff --exit-code` check fails because `out.test.toml` was checked in using the older `[GOOS]` / `[EnvMatrix]` table form, but the framework now serializes those keys in dotted form. ## Changes **Before:** `bundle summary` (no `--force-pull`) makes 0 requests, file is missing, `print_requests.py` exits 1, the rest of the test never runs. **Now:** `touch out.requests.txt` before each `print_requests.py` call so the helper sees an empty file and prints nothing, matching the expected output. Also regenerate `out.test.toml` so it matches the current serialization format. ## Test plan - [x] `go test ./acceptance -run "TestAccept/bundle/state/force_pull_commands" -v` passes locally on darwin (both `direct` and `terraform` engines) - [x] `go test ./acceptance -run "^TestAccept$" -only-out-test-toml` produces no further diff - [x] `./task checks` clean This pull request and its description were written by Isaac.
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.
Why
--force-pullonbundle summaryandbundle openis silently ignored: both commands declare the flag but never pass it through, so the local state cache is used even when the user explicitly asks for a remote pull. Users see stale URLs or IDs and have no way to bypass the cache short of deleting.databricks/by hand.The flag works as expected on
pipelines openandbundle debug states.Changes
Wire
forcePullintoProcessOptions.AlwaysPullincmd/bundle/summary.goandcmd/bundle/open.goso the flag reachesstatemgmt.PullResourcesState. This matches the pattern used in the two commands where the flag already works.No behavior change when the flag is unset.
Test plan
acceptance/bundle/state/force_pull_commands/asserts that a workspace-files state GET is issued only when--force-pullis set, for bothbundle summaryandbundle open. Runs under both engines via EnvMatrix.