Repository navigation
Conversation
Collaborator
Integration test reportCommit: 2f2e8ac
Top 3 slowest tests (at least 2 minutes):
|
denik
force-pushed
the
denik/required-enum-typed-walkers
branch
2 times, most recently
from
October 21, 2026 15:50
8df35af to
50e9336
Compare
denik
added this pull request to stack #7150
October 21, 2026 15:50
Contributor
|
Commit: Regression test reportSelected 5 changed tests (limit=20, 0 not selected) 10 tests: regression=2 unreleased=0 coverage=8 failing=0
TestAccept/bundle/validate/secret_scope_invalid_permission_level/DMS=: branch ✅ | main (bef6321) ❌ | latest (v1.21.0) ❌main (bef6321): latest (v1.21.0): same output as main (bef6321) TestAccept/bundle/validate/secret_scope_invalid_permission_level/DMS=true: branch ✅ | main (bef6321) ❌ | latest (v1.21.0) ❌main (bef6321): latest (v1.21.0): same output as main (bef6321) |
denik
force-pushed
the
denik/required-enum-typed-walkers
branch
from
October 21, 2026 16:03
50e9336 to
ab6c0ac
Compare
Replace the generated pattern tables, matched against every node of the dynamic configuration with a trie, by generated walkers that descend only along the patterns' paths of the typed configuration. Null, zero, pure-reference values and locations still come from the dyn.Value at each node (walk_node.go), so the diagnostics are unchanged. Slice of #7098. Co-authored-by: Isaac <no-reply@databricks.com>
Co-authored-by: Isaac <no-reply@databricks.com>
…res resource Co-authored-by: Isaac <no-reply@databricks.com>
denik
force-pushed
the
denik/required-enum-typed-walkers
branch
from
October 21, 2026 16:12
ab6c0ac to
2f2e8ac
Compare
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
validate:requiredandvalidate:enumnow run generated typed walkers (bundle/config/validate/{required,enum}_walk.go) instead of matching every node of the dyn tree against a trie built from the generated pattern tables. The walkers only go down the pattern paths of the typed config.The typed config can't tell unset from null, zero or a pure
${...}reference, and it has no locations. For those, each walker node also follows thedyn.Valueat its path. This bridge lives in one file,walk_node.go, and gets replaced once config no longer uses dyn.This is a slice of #7098 (#7098). libs/dyn stays in place.
Behavior
No change: same diagnostics, wording, paths, locations and ordering. Enum diagnostics are first put in dyn-walk order so that ties in the existing sort come out as before.
Tests
walk_test.go.TestAccept/bundleacceptance tests pass with unchanged goldens. During that run a temporary check (not committed) compared every result with the old trie implementation and found no mismatch.Benchmarks
1000 jobs (
bundletest.Bundle), median of 6 runs, macOS M-series, load ~5:Required().ApplyEnum().ApplyBenchmarkValidateRequired1000(viabundle.Apply)BenchmarkValidateEnum1000(viabundle.Apply)bundle validateend to end,acceptance/bundle/benchmarks--jobs 1000The required check is now dominated by the unchanged
sortDiagnostics(it callsfmt.Sprintfin the comparator). End-to-endbundle validateshows no measurable difference: these two mutators are under 1% of it.This pull request and its description were written by Isaac.