Repository navigation
ci: d1-stress and Miniflare patch notes (#190 follow-up) - #197
Merged
Merged
Conversation
- d1-stress: read `github.event.inputs.*` (strings), so `hogs: 0` and small `runs` are honoured instead of falling back to the default; clamp `runs` to at least 1 (an empty matrix is an error); cap the matrix at `max-parallel: 10` so a stress run leaves job slots for other pull requests; `_` for the unused loop variable (shellcheck). - miniflare-patch.test.ts: the child gets 20 s, below storage's 30 s testTimeout, and runs as its own process group. On timeout or in afterEach the group gets SIGKILL: a hung sync proxy call blocks the child in Atomics.wait, where Miniflare's SIGTERM hook never runs, and workerd would linger. - AGENTS.md: the Miniflare patch entry names both changes (#15552 and the sync pool's keepAlive 1000), points to ADR-0012's upgrade recipe, and says the first signal of a bump is the --frozen-lockfile install failing on the unused patch. ADR-0012 says the same. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Madraka <[email protected]>
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.
Follow-up to #192 (review notes on #190).
Changes
d1-stress.ymlinputs.inputs.hogs || 4treated a typed0as falsy, so the documented "0 = CI's own load" could not be selected. The same was true ofruns.github.event.inputs.*, which are strings:'0'is truthy and is used as given. Pull requests have no inputs and take the defaults.runsis clamped to at least 1, because an empty matrix is a workflow error.max-parallel: 10on the matrix, so a stress run of 20 jobs leaves job slots for other pull requests' CI.patches/entry now mentions both changes in the Miniflare patch: #15552, and the sync pool'skeepAliveTimeout/keepAliveMaxTimeoutof 1000 (#16445 A). Like the Kumo entry, it points to the upgrade recipe in ADR-0012. It also says that on a Miniflare bump the first signal ispnpm install --frozen-lockfilefailing on the unused patch, not the guard test. ADR-0012's recipe says the same.miniflare-patch.test.tschild timeout. The child gets 20 s, below storage's 30 stestTimeout. It now runs as its own process group: on timeout or inafterEach, the whole group gets SIGKILL.execFile'stimeout: it sends SIGTERM. A hung sync proxy call blocks the child's main thread inAtomics.wait, where Miniflare's SIGTERM exit hook never runs.Atomics.waitsurvived SIGTERM with its workerd still running (6 workerd processes before and after). A group SIGKILL removed both (back to 5; the other 5 belong to other sessions)._for the unused loop variable.Checks
packages/storage:pnpm exec vitest run test/miniflare-patch.test.tspasses (1 test),pnpm --filter @cloudhal/storage typecheckis clean, and Biome is clean.actionlint .github/workflows/d1-stress.ymlis clean.🤖 Generated with Claude Code