You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linux PR mutation groups disable unused core dumps and stream memory, disk,
process CPU/RSS, and the latest cargo-mutants debug record every 30 seconds.
PR mutation recipes print caught and unviable mutations as they complete.
After the group finishes, the shared action attempts to preserve its logs and mutants.out in an OS/architecture-specific artifact with three-day retention.
This supports the investigation of repeated Linux x64 and ARM64 runner losses
on microsoft/oxidizer#797. The cause of those losses remains undetermined.
Disabling unused core files removes one avoidable resource cost; this change
does not claim to fix every possible reason for a runner disappearing.
Mutation selection, parallelism, timeout policy, and authoritative exit status
are unchanged. Diagnostic upload is supplemental. A runner that disappears
before upload may still lose local files. The sampler is stopped on step exit.
Verification
Added behavioral tests executing the actual Bash template for success,
recipe failure, other groups, and non-Linux mutation groups.
Existing cargo-anvil unit and integration suites passed; updated and checked
all three emitted-tree snapshots and ran doctests.
Ran repository formatting, README generation, and spelling checks, plus
Windows and Linux Clippy.
Regenerated this repository from the modified generator and confirmed a
subsequent dry run has no pending changes.
✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.9%. Comparing base (b0fb0d1) to head (0324c0a). ⚠️ Report is 1 commits behind head on main.
No scenario creates mutants.out/debug.log, so the new branch that streams its latest record is never executed; a wrong path or use of more than the final record would go unnoticed. Add a synchronized case that makes a multi-line debug log appear between samples and verifies that the next sample contains only its last line.
Assert exact action output instead of permissive substring matches
These substring checks can pass for a misspelled output key such as not_exit_code=… and do not detect unexpected action outputs. Since the helper controls both lines and their order, compare the complete output so this test protects the composite action's exact output contract.
Restore original routing on exit; leave self-hosted runners unchanged and preserve all test failures.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ce582c45-e365-45a2-bc88-6da302a059fd
Follow-up 6dedb65 fixes the crash-handler behavior exposed by PR797's diagnostics. ulimit -c 0 did not prevent Ubuntu's piped apport handlers: the Linux job exhausted 16 GiB RAM and 3 GiB swap while many handlers occupied ~100 MiB each. Linux explicitly ignores RLIMIT_CORE for piped handlers: https://man7.org/linux/man-pages/man5/core.5.html.
Only ephemeral GitHub-hosted Linux PR mutation jobs temporarily use kernel.core_pattern=core, making the existing zero limit effective. An EXIT cleanup restores the original pattern; self-hosted runners and all mutation selection/assertions are unchanged. Configuration failure stops before the recipe; restoration failure warns without replacing the recipe result.
Nine synchronized Bash regressions cover the generated script, including restoration after recipe failure, no self-hosted changes, and setup/restore failures. All three generation snapshots, strict source workspace lint, pinned formatting, spelling, and the generator build passed. The prior isolated Windows MSRV retry also passed before this push; new-head hosted validation is now running.
Track successful routing reads independently of the pattern's contents and cover empty patterns with a synchronized regression.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ce582c45-e365-45a2-bc88-6da302a059fd
Keep the repository's own generated action and lock aligned with the updated generator template.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ce582c45-e365-45a2-bc88-6da302a059fd
Address review observations with exact action-output comparison and a FIFO-synchronized debug log appearing between samples.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ce582c45-e365-45a2-bc88-6da302a059fd
The reason will be displayed to describe this comment to others. Learn more.
No new actionable finding in the current diagnostics implementation. Probe and resource-log failures are guarded so later samples continue; the authoritative Just status is captured before supplemental reporting. Hosted-runner core routing is restored on exit, while self-hosted runners do not change the host-wide setting.
The prior sampling, documentation, and regeneration concerns have been addressed in the current head and are not refiled. The FIFO/scripted-probe tests check continuation after failures without relying on a fixed sampling sleep.
All five passes covered the source templates, behavioral tests, design contract, and generated wiring. No builds, tests, mutation campaigns, or shell fixtures were executed.
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
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.
Change
Linux PR mutation groups disable unused core dumps and stream memory, disk,
process CPU/RSS, and the latest cargo-mutants debug record every 30 seconds.
PR mutation recipes print caught and unviable mutations as they complete.
After the group finishes, the shared action attempts to preserve its logs and
mutants.outin an OS/architecture-specific artifact with three-day retention.This supports the investigation of repeated Linux x64 and ARM64 runner losses
on microsoft/oxidizer#797. The cause of those losses remains undetermined.
Disabling unused core files removes one avoidable resource cost; this change
does not claim to fix every possible reason for a runner disappearing.
Mutation selection, parallelism, timeout policy, and authoritative exit status
are unchanged. Diagnostic upload is supplemental. A runner that disappears
before upload may still lose local files. The sampler is stopped on step exit.
Verification
recipe failure, other groups, and non-Linux mutation groups.
all three emitted-tree snapshots and ran doctests.
Windows and Linux Clippy.
subsequent dry run has no pending changes.