Use larger Namespace runner for build-cli-pr job#614
Merged
Conversation
Contributor
|
Note Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported. |
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
dahlia
requested changes
Mar 11, 2026
dahlia
left a comment
Member
There was a problem hiding this comment.
Shouldn't we update the build-cli job as well?
Contributor
Author
I thought that was a future plan. I'll change it. |
4118f57 to
8d8b7a4
Compare
dahlia
reviewed
Mar 11, 2026
3c9d9f1 to
6605297
Compare
The build-cli-pr job intermittently failed with "The runner has received a shutdown signal" (OOM kill, exit code 137) because pack.ts runs 5 deno compile processes in parallel, each peaking at ~4-5GB memory, which exceeds the ~7GB available on ubuntu-latest runners. Reproduced locally with Docker memory limits: - Concurrency 5, 6GB: OOM (exit 137) - Concurrency 2, 7GB: OOM (exit 137) - Concurrency 1, 7GB: passed (~14min) The failure is non-deterministic because OOM depends on whether peak memory phases of the 5 compile processes overlap in time. Switch build-cli-pr to a Namespace runner with 16GB RAM, which provides sufficient headroom for all 5 parallel compiles. Resolves fedify-dev#605 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Same OOM risk as build-cli-pr since it runs the same pack.ts script. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Even with the 16GB Namespace runner, 5 parallel deno compile processes still caused OOM (exit 137). Each compile peaks at ~4-5GB, so 5 in parallel can exceed 16GB. Add a concurrency pool that limits parallel compiles. The default is all targets (preserving original behavior for local development), but can be overridden via the CONCURRENCY env var. CI workflows set CONCURRENCY=3 to keep peak memory at ~12-15GB. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6605297 to
d3f1352
Compare
dahlia
approved these changes
Mar 12, 2026
dahlia
left a comment
Member
There was a problem hiding this comment.
Everything looks great. Thanks!
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.
Summary
build-cli-prtonamespace-profile-linux-amd64-16gbrunner to fix intermittent OOM kills during paralleldeno compileContext
The job runs 5
deno compileprocesses in parallel viapack.ts, each peaking at ~4-5GB. Onubuntu-latest(~7GB RAM) this intermittently causes OOM (exit 137).Tested locally with Docker memory limits:
16GB runner provides sufficient headroom for all 5 parallel compiles.
Test plan
build-cli-prjob passes on the new runnerCloses #605
🤖 Generated with Claude Code
Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com