harden dry run to strict all-green: windows-11-arm mem_rss + no optional legs#872
Merged
Conversation
mem_rss_reflects_external_resident_memory asserted cbm_mem_rss() >= 128MB after touching a 256MB region, but on Windows cbm_mem_rss() reads WorkingSetSize (GetProcessMemoryInfo), which the OS trims under memory pressure — a stressed windows-11-arm runner kept only ~97MB resident and the leg (a required gate) flaked. Re-touch the region immediately before measuring and assert a 32MB Windows threshold that survives aggressive trimming while staying far above the ~1MB mimalloc warm buffer, so it still guards the real regression (a broken small-counter RSS). The Linux #else branch keeps its 128MB assertion (the actual undercount it was written for). Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
The release dry run must be all-green on every platform — drop the optional/continue-on-error flags from the broad matrix legs (ubuntu-22.04, ubuntu-22.04-arm, macos-15, windows-2025) so a failure on any of them gates the run. Only affects broad_platforms=true (the dry run); the core PR-CI matrix is unchanged. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
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.
Makes the release dry run genuinely all-green with no optional escape hatches. Two changes:
1. Fix the windows-11-arm
mem_rssgate (flaky)mem_rss_reflects_external_resident_memoryassertedcbm_mem_rss() >= 128MBafter touching a 256MB region. But on Windowscbm_mem_rss()readsWorkingSetSize(GetProcessMemoryInfo), which the OS trims under memory pressure — a stressedwindows-11-armrunner kept only ~97MB resident, and the leg (a required gate) flaked. Fix: re-touch the region immediately before measuring, and assert a 32MB Windows threshold that survives aggressive trimming while staying far above the ~1MB mimalloc warm buffer — so it still guards the real regression (a broken small-counter RSS). The Linux#elsebranch keeps its 128MB undercount assertion.Validated: a full branch dry-run passed
windows-11-armgreen with this fix (it flaked at 97MB before).2. No optional legs in the dry run
Dropped
optional/continue-on-errorfrom the broad-matrix legs (ubuntu-22.04,ubuntu-22.04-arm,macos-15,windows-2025) so every dry-run platform is a required gate — a release must be all-green.Scope / CI-sensitivity
.github/workflows/_test.yml(matrix only) — makes 4 more broad legs required,broad_platforms=trueonly (the dry run). The core PR-CI matrix is unchanged.tests/test_mem.cchange is Windows-branch-only + a Linux threshold left intact.Focused; merge-commit, not squash.