Repository navigation
Conversation
Collaborator
Integration test reportCommit: d08081b
Top 3 slowest tests (at least 2 minutes):
|
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 7, 2026 09:41
13fac18 to
b2a1c10
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 7, 2026 12:40
6ee2caa to
68af62f
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 7, 2026 14:08
baccaac to
7086a71
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 7, 2026 14:33
7086a71 to
4c4f0b3
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 7, 2026 14:38
4c4f0b3 to
3bb81b3
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
2 times, most recently
from
October 7, 2026 16:17
722c97c to
649bde3
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 7, 2026 21:11
649bde3 to
67d1321
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 8, 2026 07:52
67d1321 to
d49f829
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 8, 2026 11:18
d49f829 to
b22dd28
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 8, 2026 11:34
b22dd28 to
799731f
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 8, 2026 16:09
799731f to
13de66e
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 8, 2026 16:31
13de66e to
6c910dc
Compare
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 8, 2026 16:35
6c910dc to
9746279
Compare
denik
added this pull request to stack #6997
October 9, 2026 08:18
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
2 times, most recently
from
October 9, 2026 08:44
12ad72d to
44a59f3
Compare
andreamatt
pushed a commit
to andreamatt/databricks-cli
that referenced
this pull request
Oct 9, 2026
## Changes
`diag.Diagnostic.Paths` is `[]*structpath.PathNode` instead of
`[]dyn.Path`. Producers convert existing dyn paths with
`dyn.ToStructPaths` or build paths from keys with
`structpath.NewStringKeys`/`NewStringKeysSlice`/`MustParsePaths`.
`structpath.PureReferenceToPath` moves to
`dynvar.PureReferenceToStructPath` so structpath does not import dyn.
User-visible: diagnostic paths quote map keys that are not identifiers,
e.g. `resources.jobs['${var.env}_job']` instead of
`resources.jobs.${var.env}_job` (one golden).
## Why
First step of removing `libs/dyn` from bundle configuration: databricks#6974 moves
`Location` to `libs/diag` on top of this (it needs diag to no longer
import dyn), then databricks#6954.
This pull request and its description were written by Isaac.
---------
Co-authored-by: Isaac <no-reply@databricks.com>
…r refs and locations
Bundle configuration is the typed struct plus structvar (pure ${...}
references in non-string fields and a tree of source locations). YAML and
JSON decode straight into the structs; mutators, validators, variable
resolution, configsync and generate work on structvar views and structpath
paths. libs/dyn is deleted.
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
… test Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
denik
force-pushed
the
denik/bundle-struct-no-dyn
branch
from
October 9, 2026 10:44
44a59f3 to
b210f66
Compare
- configsync: compare int and int64 values as equal when restoring variable references (variables decode as int, remote fields are int64). - schema annotations: merge object/sequence defaults as documented; accept an empty annotations file. - python mutator: use ResourceKeySet.AddPattern instead of a duplicate helper. - structvar.Set: don't rewrite an unchanged leaf location node (avoids cloning every ancestor per write). - ResolveConfigAgainstState: resolve all references in one call so lookups are shared. Co-authored-by: Isaac <no-reply@databricks.com>
This branch has not been deployed
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.
Changes
Bundle configuration no longer goes through
libs/dyn; the package is deleted.config.Rootis the typed struct plus astructvarside: pure${...}references in non-string fields and a tree of source locations (one node per YAML value). YAML is decoded straight into the structs, with the same warnings as before.structvar.Viewand write withSet/Merge/Override/… instead of converting the whole configuration to adyn.Valueand back. Paths arestructpatheverywhere, includingdiag.Diagnostic.Paths.${...}parsing and the resource-reference resolver run on typed values (structvar.Resolve, same semantics and error text as dynvar).libs/structs/structyaml(identical output);--jsonandvariable-overrides.jsonusestructvar.ParseJSON(exact int64, same error positions).Stacked on #6974 (
diag.Location), which is stacked on #6980 (structpath diagnostic paths).Why
Converting the configuration typed↔dyn around mutators dominated command time on large bundles.
./task bench-1k-summary(1000 jobs, wall seconds, DMS= variant), main → this PR:(
deploy/DMS=trueat 1000 jobs fails on main too: the test server caps a deployment version at 800 operations.)Tests
Existing unit and acceptance tests; one golden changed (path quoting above). Parity tests against
libs/dyn(decode, view, writes, merge/override, walk) passed on every bundle fixture before dyn was deleted.This pull request and its description were written by Isaac.