Skip to content

ci(macos): skip network-dependent hands registry tests on the macOS lane (#6240)#6247

Merged
houko merged 2 commits into
mainfrom
ci/6240-skip-macos-network-registry-tests
Jun 20, 2026
Merged

ci(macos): skip network-dependent hands registry tests on the macOS lane (#6240)#6247
houko merged 2 commits into
mainfrom
ci/6240-skip-macos-network-registry-tests

Conversation

@houko

@houko houko commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #6240. Completes the macOS-main-red fix — #6243 fixed the i18n half (test_detect_system_language); this fixes the remaining 13 librefang-hands::registry::tests::* failures.

Root cause

Those tests call resolve_home_dir_for_tests(), which git clones github.com/librefang/librefang-registry at runtime to populate a test home, then assert >= 15 hands. On the GitHub-hosted macOS runner the clone fails:

fatal: unable to access 'https://github.com/librefang/librefang-registry.git/': Could not resolve host: github.com
... expected at least 15 hands, got 0

The same runner resolves crates.io fine (it downloads crates), but github.com is consistently unresolvable for this clone — across 6+ consecutive main runs, so it's systematic, not a transient flake. Linux and Windows runners clone successfully and the tests pass there.

Change

Add a nextest filter to the macOS lane only (ci.yml: test-macos) excluding package(librefang-hands) and test(/registry::tests::/). The Linux shards (test-ubuntu, test-unit) and Windows lane keep running the full set, so coverage of this platform-independent logic is unchanged. A comment in the workflow documents why.

This is verified on the PR's Linux lanes (which still run the registry tests and must stay green); the macOS filter itself only takes effect on main-push, since macOS does not run on PRs.

Deeper follow-up (out of scope here)

The real smell is that a unit test live-clones an external repo. The proper fix is to bundle the registry as an offline fixture so the tests need no network at all — a larger change to registry_sync.rs and the registry test harness, in a different area than this one-line CI scoping. Happy to open a tracking issue for it if you want it followed up.

Closes #6240.

…ane (#6240)

librefang-hands `registry::tests` clone github.com/librefang/librefang-registry at runtime to populate a test home, then assert >= 15 hands.
GitHub-hosted macOS runners resolve crates.io but consistently fail to resolve github.com for this clone ("Could not resolve host: github.com" -> "expected at least 15 hands, got 0"), failing 13 tests deterministically on macOS across every main push while they pass on Linux/Windows where the clone succeeds.

The logic under test is platform-independent and fully covered by the Linux + Windows lanes, so exclude just this network-dependent module on the macOS lane via a nextest filter rather than red-flagging every main push.
Completes the macOS-red fix begun in #6243 (the i18n half).
@github-actions github-actions Bot added no-rust-required This task does not require Rust knowledge area/ci CI/CD and build tooling size/S 10-49 lines changed and removed no-rust-required This task does not require Rust knowledge labels Jun 20, 2026
@houko
houko enabled auto-merge (squash) June 20, 2026 01:39

houko commented Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

Pushed one follow-up commit (f441c14): rewrapped the new shell comments in the macOS test step from column-wrapped form to one sentence per line, per the repo's prose-wrapping rule in CLAUDE.md. No logic change.


Generated by Claude Code

@github-actions github-actions Bot added no-rust-required This task does not require Rust knowledge size/XS < 10 lines changed and removed size/S 10-49 lines changed labels Jun 20, 2026
@houko
houko merged commit 05a0815 into main Jun 20, 2026
31 checks passed
@houko
houko deleted the ci/6240-skip-macos-network-registry-tests branch June 20, 2026 01:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci CI/CD and build tooling no-rust-required This task does not require Rust knowledge size/XS < 10 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[main red] CI failure on PR #6238

2 participants