-
Notifications
You must be signed in to change notification settings - Fork 125
direct: New plan format and logic re remote changes #4201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
+2,008
−1,559
Conversation
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
Collaborator
|
Commit: 447be83
22 interesting tests: 17 KNOWN, 4 RECOVERED, 1 SKIP
Top 16 slowest tests (at least 2 minutes):
|
99a4359 to
3ca6773
Compare
denik
added a commit
that referenced
this pull request
Jan 6, 2026
## Changes New function structdiff.IsEqual() which follows the same logic as structdiff.GetStructDiff() but does not build a diff. ## Why Need this in #4201 reflect.DeepEqual() does not work for types with ForceSendFields because ForceSendFields can have more or less fields in it without changing the actual value. ## Tests Unit tests.
5b0dff7 to
e901b22
Compare
add remote_matches_config test implement remote_already_set and update the test WIP linter handle nil update update structaccess: support key/value syntax modify structaccess.Get() to return nil on missing values update update tests update fix dashboards update migrate tests dashboard tag comparison fix linter fix clean up test pipelines run_as use IsEqual, fix run_as clean up update undo version change, will be done in follow up to reduce PR size
1c1f4e3 to
3c19eea
Compare
andrewnester
approved these changes
Jan 7, 2026
Contributor
andrewnester
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New format looks fine, but it might be worth calling out explicitly that it changed incase any one already depends on this
Collaborator
|
Commit: c4e1b83
44 interesting tests: 24 KNOWN, 9 MISS, 7 FAIL, 2 flaky, 1 PANIC, 1 SKIP
Top 50 slowest tests (at least 2 minutes):
|
deco-sdk-tagging bot
added a commit
that referenced
this pull request
Jan 8, 2026
## Release v0.282.0 ### Notable Changes * engine/direct: New plan format (v2) ([#4201](#4201)) ### CLI * Skip non-exportable objects (e.g., `MLFLOW_EXPERIMENT`) during `workspace export-dir` instead of failing ([#4101](#4101)) ### Bundles * Allow `domain_friendly_name` to be used in `name_prefix` in development mode ([#4173](#4173)) * Add missing schema grants privileges ([#4139](#4139)) * Add support for `bundle generate alert` command ([#4108](#4108)) * Add support for `.dbalert.json` files ([#3602](#3602)) * Pass `SYSTEM_TEAMFOUNDATIONCOLLECTIONURI` from env to the Terraform provider for Azure DevOps OIDC auth ([#4169](#4169)) * Add `ipykernel` to the `default` template to enable Databricks Connect notebooks in Cursor/VS Code ([#4164](#4164)) * Add interactive SQL warehouse picker to `default-sql` and `dbt-sql` bundle templates ([#4170](#4170)) * Add `name`, `target` and `mode` fields to the deployment metadata file ([#4180](#4180)) * engine/direct: Fix app deployment failure when app is in `DELETING` state ([#4176](#4176)) * engine/direct: Changes in config that match remote changes no longer trigger an update ([#4201](#4201))
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
Internally, there is new resource API for overriding diff logic. New function OverrideChangeDesc allows updating ChangeDesc (which now includes Old/New/Remote fields) after built-in logic and FieldTriggers() were applied.
Additionally,
Plan format
Old format (plan_version: 1)
Assuming field has value “A” in the state and “B” in the config and “C” in the remote state.
(old format has old & new swapped in remote, which was somewhat confusing).
New format (plan_version: 2)
Why
Matches terraform and user expectations. Plan format is easier to understand.
Tests
There is a new acceptance test showing remote_already_set behaviour. Existing tests show format change.