Repository navigation
Validate the Gradle wrapper with gradle/actions/wrapper-validation@v6, fix a log batch test race - #323
Merged
Conversation
The archived gradle/wrapper-validation-action@v3 delegates to gradle/actions/wrapper-validation@v3.5.0, whose bundled checksums predate the wrapper JAR of this repository, so every run fetched them from services.gradle.org and a network timeout failed the check. v6 bundles the checksum of this JAR and validates it without a network call.
Dependency security scanScanned 25 resolved dependencies, failing on HIGH and above. Result: passed |
Code coverage
Files changed by this pull request
Least covered classes (10 shown)
|
arifBurakDemiray
marked this pull request as ready for review
October 23, 2026 07:27
The networking removes a sent log batch and only then lets the logger
queue the next one, so the tests' wait for sent batches could end in
between and find lines still held ("expected:<0> but was:<475>" on CI).
It now also waits for the networking task that sent the batch, for which
DefaultNetworking.tasks is package-private.
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.
What
validate_gradle.ymlmoves from the archivedgradle/wrapper-validation-action@v3togradle/actions/wrapper-validation@v6, the action family the other workflows already use forsetup-gradle@v6.Why
The old action delegates to
gradle/actions/wrapper-validation@v3.5.0. Its bundled list (259 checksums) does not have the wrapper JAR of this repository (7d3a4ac4…), so every run fetched the checksums from services.gradle.org. On 2026-10-22 that fetch timed out and failed the check on #275 and #295, while the staging push a minute later passed.v6.4.0 bundles 373 checksums, this JAR's among them, and fetches only for a JAR it does not know.
Verified
wrapper-checksums.jsonof v6.4.0 and not in the one of v3.5.0.min-wrapper-count,allow-snapshots), both left at their defaults.github-actionsentry updatesgradle/actions/wrapper-validationlike the othergradle/actionssteps.Also: a log batch test race
SdkLogGatheringTests.trackingOffHold_keepsTheNewest500Lines_andDAccountsForEveryDroppedLinefailed on this PR's first ubuntu run at line 201: lines were still held after the test waited for every batch to be sent.The send callback in
DefaultNetworkingremoves a sent log batch, then callsLog.onLogBatchSent(), which lets the logger queue the next one.awaitSentBatcheswaited for the stored batches to reach zero, so it could end between those two steps and see no batch on disk while the logger still held lines.awaitSentBatchesnow also waits for the networking task that sent the batch (its callback runs inside it), then for the log delivery.DefaultNetworking.tasksis package-private for that; nothing else changes in the SDK.Verified
onLogBatchSent(), the old wait fails this test (expected:<0> but was:<475>) andarmedDirective_uploadsTheInitLinesOfItsLevels_withTheGatherIdInBatchesOfAtMostB; the new wait passes all 13 tests of the class.🤖 Generated with Claude Code