Skip to content

Bump kompile-cli to 0.0.94 and prune transitive test dependencies - #8

Open
codexcoder21 wants to merge 1 commit into
mainfrom
build-hygiene-kompile-0.0.94-and-prune
Open

Bump kompile-cli to 0.0.94 and prune transitive test dependencies#8
codexcoder21 wants to merge 1 commit into
mainfrom
build-hygiene-kompile-0.0.94-and-prune

Conversation

@codexcoder21

Copy link
Copy Markdown
Contributor

Two pieces of build/test hygiene.

kompile-cli 0.0.65 → 0.0.94

The pin was below 0.0.79, where the local build-rule result index stopped being keyed by rule name alone. Under the old scheme, editing module source did not invalidate the cached artifact, so a local scripts/test.bash run could be served a stale jar — meaning a local green in this repo was not evidence of anything after a source edit or a rebase.

Not hypothetical: in PhotoGenerationManagerWui the local runner reported ALL TESTS PASSED (5/5) against code that had been verified defective, and the same tree on 0.0.94 correctly failed. Only the pinned version differed. 89% of the org is still below the threshold — challenge.

Pruned transitive test dependencies

Ran TransitiveTestDependencyPruner: 24 @file:WithArtifact declarations across 3 of the 4 test files — coordinates the module artifact already supplies transitively, left over from when @WithArtifact was not transitive.

tests/testEvergreenServiceServerEndToEnd.kts is deliberately left alone. The pruner could not locate the compile dependencies of the buildImageClientResourcesJar() build rule in build.kts, so the set of transitively-provided dependencies for that file is unknown and no removal could be proven safe:

Skipped …/testEvergreenServiceServerEndToEnd.kts because the compile dependencies of build rule
'evergreenserviceserver.buildImageClientResourcesJar()' could not be located in build.kts, so the
set of transitively-provided dependencies is unknown (leaving it unchanged to avoid an unsafe edit).

That is the tool declining to guess, and the right call — so this repo gets a deliberately partial clean rather than a forced complete one. Whatever redundancy that file carries stays until the build rule is expressed in a way the pruner can read.

Why one PR

Both changes are build/test hygiene on the same repo and are proven by the same suite run; splitting them would cost the shared buildtest droplet two extra CI rounds for no added signal — a wrongly-pruned coordinate surfaces as a test file that will not compile either way.

64/64 on scripts/test.bash --remote --test ..

🤖 Generated with Claude Code

The pin was 0.0.65, below 0.0.79 where the local build-rule result index
stopped being keyed by rule name alone. Under the old scheme, editing
module source did not invalidate it, so a local test run could be served
a stale jar — a local green here was not evidence after a source edit or
a rebase. This bit for real in PhotoGenerationManagerWui, where the local
runner reported a green suite for code that was provably broken.

Also ran TransitiveTestDependencyPruner: 24 @file:WithArtifact
declarations across 3 of the 4 test files, all supplied transitively by
the module artifact already.

testEvergreenServiceServerEndToEnd.kts is deliberately untouched. The
pruner could not locate the compile dependencies of the
buildImageClientResourcesJar() build rule in build.kts, so what that rule
provides transitively is unknown and no removal there could be proven
safe. It reports the skip rather than guessing, and that judgement is
left standing rather than forced.

64/64 on the full suite remotely.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant