test(convert): pin QEMU guest RAM to 4G in CI - #136
Merged
Merged
Conversation
test_qemu_boot() derived RAM_SIZE from 80% of the CI runner's host memory (~5.6-12.8 GB), which silently masked the UKI SizeOfImage "hole" regression: UEFI LoadImage() must allocate the full SizeOfImage (~2.93 GiB for the mis-built UKI) as contiguous memory up front, so it only fails at low memory. Add a --ram option and QEMU_RAM_SIZE env var (plumbed through the Makefile as QEMU_RAM) and pin all CI test-convert jobs to 4G so this class of regression surfaces in CI. The script default stays at host*0.8 for local development. Signed-off-by: Kun Lai <laikun@linux.alibaba.com> Assisted-by: Claude:glm-5.2[1m]
|
@imlk0 ,您好,您的请求已接收,请耐心等待结果。 |
|
@imlk0 ,您好,未检测到有镜像需要构建,如需重新检测请评论 /start 。 |
|
@imlk0 ,您好,您的请求已接收,请耐心等待结果。 |
|
@imlk0 ,您好,未检测到有镜像需要构建,如需重新检测请评论 /start 。 |
|
@imlk0 ,您好,您的请求已接收,请耐心等待结果。 |
|
@imlk0 ,您好,未检测到有镜像需要构建,如需重新检测请评论 /start 。 |
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.
Why
The
test-convertboot test derived QEMU guest RAM from 80% of the CI runner's host memory (~5.6–12.8 GB). That is large enough to mask low-memory boot failures: a guest that fails to boot at smaller RAM sizes still boots in CI, so this class of regression never surfaces.Changes
tests/test-convert.sh: add--ram <size>option andQEMU_RAM_SIZEenv var.test_qemu_boot()uses it, defaulting to host×0.8 when unset (local dev unchanged).Makefile:run-convert-test-caseplumbsQEMU_RAMthrough to--ram..github/workflows/build-rpm.yml: pin alltest-convertjobs toQEMU_RAM=4G.CI behavior
Boot mode is unchanged (q35 + OVMF/UEFI + TCG,
KVM=N). With 4G,bootloader=ukijobs are expected to fail to boot until the UKI image is rebuilt compactly;grubjobs are unaffected (no UEFI PE load path). This is the intended low-memory gate.CI results (24 test-convert jobs)
Total: 6 failure / 18 success. Failures are confined to
uki + alinux4;uki + alinux3boots fine at 4G, and allgrubjobs pass on both distros — i.e. 4G is sufficient for every non-affected path, and the failure trigger is specific to the alinux4 UKI build.Verification
bash -n tests/test-convert.sh— OKshellcheck tests/test-convert.sh— cleancargo fmt --check— OKQEMU_RAM_SIZEresolution verified: unset → host×0.8,4G→4G,4096M→4096M