Skip to content

feat(ci): upload gradle build artifacts via actions/upload-artifact - #1495

Closed
alexeyqu wants to merge 2 commits into
masterfrom
ci/upload-gradle-artifacts
Closed

feat(ci): upload gradle build artifacts via actions/upload-artifact#1495
alexeyqu wants to merge 2 commits into
masterfrom
ci/upload-gradle-artifacts

Conversation

@alexeyqu

@alexeyqu alexeyqu commented Jun 17, 2026

Copy link
Copy Markdown
Collaborator

Upload gradle build artifacts (see Workflow artifacts) to Github via actions/upload-artifact

Should help with investigation of #1494

. . .
There were failing tests. See the report at: 
file:///home/runner/work/data-transfer-project/data-transfer-project/extensions/data-transfer/portability-data-transfer-synology/
    build/reports/tests/test/index.html << should filter and upload this

Currently this file is not accessible -- and I can't reproduce this failure locally.

@alexeyqu
alexeyqu requested a review from lisad June 17, 2026 22:40
@alexeyqu

Copy link
Copy Markdown
Collaborator Author

the artifacts shows there is an OOM -- likely because of the buffer allocation in synology module uploadVideoChunks

which backfires on tests

simonxander pushed a commit that referenced this pull request Jun 23, 2026
## Problem

The Synology test suite OOMs in CI on
`shouldThrowExceptionIfSendPostRequestFailed [2] VideoModel` -- which
was identified after investigation in #1495. This blocks the CI.

`uploadVideoChunks` pre-allocates two 50MB byte arrays into a buffer
pool on every call. `shouldSendMultipleChunksForLargeVideo` leaves
~150MB live (50MB content + 100MB pool).

The next test immediately allocates another 100MB pool before GC has a
chance to clear the previous one -- exceeding the default test JVM heap.

The `maxHeapSize` setting only affects the test JVM, not Gradle itself
or production runtime.

## What's not fixed

The root cause -- `uploadVideoChunks` pre-allocating 100MB regardless of
file size -- is a production-code issue. Lazy buffer allocation
(allocate on demand, release after consumer finishes) would fix both the
test OOM and the memory waste on small files.

That's a more invasive change left for a follow-up.

cc @simonxander or @mengyushen -- let's discuss the 100MB buffer after
the CI is unblocked.
@alexeyqu

Copy link
Copy Markdown
Collaborator Author

Closing this one -- the discovered OOM bug was fixed in #1498.

@alexeyqu alexeyqu closed this Jun 26, 2026
@alexeyqu
alexeyqu deleted the ci/upload-gradle-artifacts branch June 26, 2026 23:26
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