acc: cover config-remote-sync write-back for split lists - #6116
Closed
ilyakuz-db wants to merge 1 commit into
Closed
acc: cover config-remote-sync write-back for split lists#6116ilyakuz-db wants to merge 1 commit into
ilyakuz-db wants to merge 1 commit into
Conversation
Contributor
Waiting for approvalCould not determine reviewers from git history. Eligible reviewers: Suggestions based on git history. See OWNERS for ownership rules. |
Collaborator
Integration test reportCommit: 269d3f2
8 interesting tests: 4 RECOVERED, 4 SKIP
Top 3 slowest tests (at least 2 minutes):
|
ilyakuz-db
force-pushed
the
configsync/acc-split-list-baseline
branch
5 times, most recently
from
August 2, 2026 14:01
3854cff to
17c2439
Compare
Co-authored-by: Isaac
ilyakuz-db
force-pushed
the
configsync/acc-split-list-baseline
branch
from
August 2, 2026 14:46
17c2439 to
269d3f2
Compare
This was referenced Aug 2, 2026
Contributor
Author
|
Superseded: the fixtures are now distributed into the PRs that fix the behaviour they prove, so each PR carries its own tests and no PR commits a golden that records a bug.
The stack now starts at #6117. |
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.
Stack
Review in order — each PR is based on the one above it.
Changes
Adds end-to-end coverage for
bundle config-remote-syncwrite-back when a resource's list field is defined in more than one physical YAML region — a top-levelresources.<type>.<name>.<list>block plus atargets.<target>override, possibly spread across included files.Six directories under
acceptance/bundle/config-remote-sync/split/sharing onetest.toml:keyed_edit,keyed_twoblock,keyed_remove,multifile,positional,isolation. Unlike the existing directories here they omitCloud = true, so they run against the in-process test server under both deployment engines and therefore execute in normal CI.The committed goldens record today's behaviour, which is wrong. That is deliberate: the fixes land on top of this and each shows up as a golden diff — corruption on one side, correct output on the other. What the goldens currently show:
keyed_edit— editing a task defined only in the target block appends a keyless- timeout_seconds: 111element to the top-level block; the next sync then reportstasks[task_key='']: removefor the element it just created.keyed_twoblock— a field set in both blocks is written to the top-level copy, but the target's value is the deployed one, so the edit silently has no effect.keyed_remove— removing one task per block fails withremove index key out of bounds (idx 2, len 2), because a merged index is used against a block with fewer elements. Removing a task defined in both blocks deletes only the top-level half, orphaning the other.multifile— an edit to a task defined in an included override file is written to the top-leveldatabricks.ymlinstead.positional— a field edit on a target-block pipeline cluster fails withparent path ... does not exist.isolation— a rename of a two-block task is applied by guessing, leaving the task duplicated.Each
scriptstates the scenario it covers next to the step that exercises it.Why
Loading merges the separate YAML regions into one list (keyed lists are also sorted by key), but on disk they stay separate regions that have to be edited independently. A remote change is expressed against the merged view, so write-back has to map it back to the right
(file, block, position).config-remote-syncruns unattended — nobody reads its output or exit code — so a silently wrong write is the worst outcome. None of this was covered before: the existing directories are allCloud = true, so they don't run in normal CI, which makes "fails before the fix, passes after" impossible to demonstrate.validation_errorsshowed the hermetic path works, and these follow it.The single-block path is already covered by
job_multiple_tasks, which exercises edit, add, remove and rename on a resource defined in one block. It stays byte-for-byte unchanged through the whole stack, which is the regression evidence.Tests
This PR is only tests. Both engines pass locally, in seconds, with no cloud access.