Skip to content

fix(bindings): get ci green on macos 15 and remove the slow call flake - #671

Merged
bahdotsh merged 3 commits into
mainfrom
ci/macos-15-and-slow-call-flake
Oct 31, 2026
Merged

bahdotsh merged 3 commits into
mainfrom
ci/macos-15-and-slow-call-flake

Conversation

@bahdotsh

@bahdotsh bahdotsh commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Main's CI is red and #670 cannot go green, and macos-14 is retired on November 2. This carries #670's commit plus the fixes for both, so merging it also lands #670.

Main (Python Wheel (windows-x86_64), run 41192023539): a timing flake. test_a_slow_call_leaves_the_loop_ticking_and_other_calls_waiting assumed a 1 s stall outlasted its setup; on a slow runner b waited only 0.25 s. The stall is now a gate the test releases, so every step runs inside it. Without the call lock the rewritten test fails.

#670 (Python Wheel (macos-arm64) on macos-15): two separate causes, measured with a probe on both images.

macos-14 macos-15
gethostbyaddr("127.0.0.1") 2 ms 35 s
zeroconf self-discovery, IPVersion.All found not found in 10 s
zeroconf self-discovery, IPVersion.V4Only found found
  • Five http_front/test_demo.py tests: HTTPServer.server_bind calls getfqdn, so the demo provider sat in reverse DNS past every test timeout. It now skips the lookup, whose result it never read.
  • test_a_host_advertised_over_dns_sd_is_found_and_proved: the test now skips when a zeroconf-only probe cannot see its own advertisement. The probe does not touch PeerStreamManager, so a fault in the manager still fails the test.

Not proved: discovery uses IPVersion.All in peer_stream_manager.py and dnssd_bridge.py. It works on macOS 26 hardware, but the cause on the runner was not isolated, so a real macOS 15 machine is unverified, and DNS-SD discovery has no CI coverage on that image.

Update from the green run (682c673): the macOS wheel job reported 1148 passed and 4 skipped, the same 4 as before, so the DNS-SD test ran and passed on macos-15 this time and the skip did not fire. The zeroconf failure therefore varies between runs of that image rather than holding on every one; the table above is one probe, and the skip exists for the runs where it recurs.

@bahdotsh
bahdotsh merged commit d11865e into main Oct 31, 2026
45 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 31, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants