ci(macos): add macos_bug marker and skip known-crashing worker tests#1786
ci(macos): add macos_bug marker and skip known-crashing worker tests#1786ruthwikdasyam merged 8 commits intodevfrom
Conversation
Greptile SummaryThis PR introduces a Confidence Score: 5/5Safe to merge — the fix correctly isolates the macOS segfault with no impact on Linux CI or local runs. The only finding is a P2 style inconsistency (unregistered marker), which is suppressed in practice by
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[pytest run] --> B{Which CI?}
B -->|macOS CI macos.yml| C["-m 'not (tool or mujoco or macos_bug)'"]
B -->|Linux CI ci.yml| D["-m 'not (tool or mujoco)'"]
B -->|Local dev pyproject.toml addopts| E["-m 'not (tool or slow or mujoco)'"]
C --> F[test_worker.py skipped via macos_bug marker]
D --> G[test_worker.py runs - segfault no longer hits macOS]
E --> H[test_worker.py skipped via slow marker]
|
Problem
macOS CI fails on nearly every PR because
dimos/core/coordination/test_worker.pyhits a native segfault (exit 139) partway through execution - the crash surfaces duringtest_load_balancing_distributes_modulesbut is cumulative state from prior tests in the same file.Since the process dies, pytest reports no
FAILEDtests, just a red job, which trains the team to ignore macOS CI entirelyCloses #1752
Solution
macos_bugpytest marker convention for tests known to fail or crash on the macOS runnermacos_bugalongside the existingtoolandmujocoexclusions.Linux CI is unaffected.
None
How to Test
test_worker.pyinstead of segfaultingci.yml) should continue to run the full suite includingtest_worker.py, since the marker is only excluded inmacos.ymlpython -m pytest --durations=10 -m 'not (tool or mujoco or macos_bug)' --timeout=120 dimos/Contributor License Agreement