You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The GitHub target should never need to hold full release assets (nor any other potentially large files) in memory.
This issue tracks replacing code that reads full files from disk, downloads arbitrary files from the internet and calculate checksums. All of those steps can be performed with fixed size buffers, consuming less resources and eliminating a failure mode of running out of memory.
The GitHub target should never need to hold full release assets (nor any other potentially large files) in memory.
This issue tracks replacing code that reads full files from disk, downloads arbitrary files from the internet and calculate checksums. All of those steps can be performed with fixed size buffers, consuming less resources and eliminating a failure mode of running out of memory.
See discussion in #328 (comment).
Note: this might require changes to how we use the Octokit library.
Some of the candidates
Reading full files of arbitrary size to memory where we could possibly be stream uploading / calculating checksum:
craft/src/targets/github.ts
Line 365 in 244efd8
Calculating MD5 hashes from in-memory bytes where we could be updating the checksum chunk-by-chunk:
craft/src/targets/github.ts
Lines 451 to 453 in 244efd8
Downloading arbitrarily large assets from the Internet (into
response.data
) where we could read chunks and update a checksum:craft/src/targets/github.ts
Line 438 in 244efd8
The text was updated successfully, but these errors were encountered: