Exclude dynamic informer compatibility test - #34
Conversation
There was a problem hiding this comment.
Review: exclude dynamic/dynamicinformer from llgo-compatibility
This is a clean, low-risk configuration change. It adds k8s.io/client-go/dynamic/dynamicinformer to the Exclude list in ci/llgo-compatibility/projects.toml and regenerates cmd/bent/configs/benchmarks-llgo-compatibility.toml accordingly.
Verified:
- The generated bent config change is exactly what
generate_manifest.pyproduces from theprojects.tomlchange: excluding one package from the alphabetically-sorted top-45 window shifts every subsequentclient_goRepoup by one and pullsk8s.io/client-go/transportinto slotclient_go_045. - Invariants hold — 45
client_goentries, 200 total[[Benchmarks]],Limitsum = 200. No duplicateName/Repocollisions. - The
Excludelist stays alphabetically ordered;dynamicinformeris inserted in the correct position. - Config-only change: no runtime code, no supply-chain surface change (module/URL/version
@v0.36.2unchanged), values are safely encoded by the generator. No security or performance concerns.
One minor, non-blocking note left inline regarding the exclusion rationale.
| Exclude = [ | ||
| "k8s.io/client-go/discovery/cached/disk", | ||
| "k8s.io/client-go/discovery/cached/memory", | ||
| "k8s.io/client-go/dynamic/dynamicinformer", |
There was a problem hiding this comment.
Nit (non-blocking): this new entry inherits the blanket comment above the list ("failed the Go baseline or LLGo dependency discovery in the first full hosted run"). That reason is disjunctive and generic, so it's only accurate if dynamicinformer actually failed for one of those two causes. Consider confirming the specific failure mode in the PR description (or a per-entry note) so this compatibility-contract change stays auditable later.
The deterministic compatibility log identified
k8s.io/client-go/dynamic/dynamicinformeras the active package when the hosted runner terminated with exit 143.Exclude that package and regenerate the pinned manifest. It is replaced by
k8s.io/client-go/transport, keeping the contract at exactly 200 unique packages.Validation:
go test ./cmd/bentpython3 -m unittest discover -s ci/llgo-compatibility -p "test_*.py"bash -n ci/llgo-compatibility/run.shgit diff --check