-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release CI asset upload failure #520
Comments
This is likely either due to 1) the large amount of artifacts uploaded to the sdk-ng repository, or 2) the large size of some release artifacts. Re 1: Try cleaning up old build artifacts and re-run the workflow. |
After cleaning up the stale artifacts, the release asset upload still fails: Leaving the no. 2 more likely. |
Re no. 2, the issue #521 investigated the cause of the distribution bundle size increase and has determined that it is an inevitable consequence of upgrading from GCC 10.3 to 12.1 and no further action can be taken. In this regard, if the release asset upload failure is indeed due to the (approximately) 2GB per-asset size limit, then an alternate distribution method has to be considered:
|
Quick and dirty cost simulation on the no. 1 approach above using AWS S3 Assuming:
200 downloads/day * 1.7 GB/download = 340 GB/day The cost of $918 per month is non-negligible and this is assuming a fairly generous 200 downloads per day. The downloads per day will likely increase in the future and the cost will likely become prohibitive. |
Re-running the failed step with the debug logging enabled, the following error message is displayed:
Full log: https://github.com/zephyrproject-rtos/sdk-ng/runs/7310832786?check_suite_focus=true#step:5:131 The exit code 137 is likely due to the node process, in which the release action runs, being killed because of the system running out of memory. Looking at the Also note that the action attempts to read all release assets into the the memory at once: const files = paths(config.input_files);
...
const assets = await Promise.all(
files.map(async path => {
const json = await upload( The |
This commit modifies the CI release workflow to upload the release assets in multiple parts because the `softprops/action-gh-release` action attempts to load all specified release assets into the runner memory at once and this may cause the runner instance to run out of memory. For more details, refer to the GitHub issue zephyrproject-rtos#520. Revert this when the action is updated to use the streams. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit modifies the CI release workflow to upload the release assets in multiple parts because the `softprops/action-gh-release` action attempts to load all specified release assets into the runner memory at once and this may cause the runner instance to run out of memory. For more details, refer to the GitHub issue #520. Revert this when the action is updated to use the streams. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
While #522 fixed the problem at hand, we will likely hit the 2GB per-asset size limit in the near future and will need to come up with a solution. |
The "Upload release assets" step in the Release CI fails for unknown reason and the release assets indeed to not get uploaded to the corresponding release.
Failure seen here: https://github.com/zephyrproject-rtos/sdk-ng/runs/7266059491?check_suite_focus=true
The text was updated successfully, but these errors were encountered: