From f205e9df225c21fc953e095bf59391cbc0c6af7e Mon Sep 17 00:00:00 2001 From: Luke Curley <432854+kixelated@users.noreply.github.com> Date: Mon, 9 Nov 2026 19:56:27 -0800 Subject: [PATCH] quest: plan just check passing on macOS Co-Authored-By: Claude Opus 5.5 --- quest/m0/README.md | 1 + quest/m0/macos-check.md | 55 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 quest/m0/macos-check.md diff --git a/quest/m0/README.md b/quest/m0/README.md index 0e33eb0ad1..ee5232d8af 100644 --- a/quest/m0/README.md +++ b/quest/m0/README.md @@ -32,5 +32,6 @@ edge, which embeds moq-relay; it moved there on 2026-09-28. - [Publish the release line's drain() wrappers](/quest/m0/ffi-shutdown-backport.md) - Dart `moq` 0.1.1 reaches pub.dev from `release` - [CI cost and latency](/quest/m0/ci/README.md) - cloud CI runs only in GitHub's merge queue, one tested entry at a time, expensive checks run nightly and gate `release`, caches move to R2, and runners are chosen last - [More tests under load](/quest/m0/test-flakes-2/README.md) - load-only and queue failures, one quest per flake, fixed at the cause, since each one drops a queued PR +- [just check passes on macOS](/quest/m0/macos-check.md) - the version test, the doc re-export link test, and the carla bridge docs pass on a macOS host - [Agent build output can't fill the desktop's disk](/quest/m0/agent-disk-budget.md) - finished agent checkouts reclaim their mbx targets automatically, so parallel agent builds stop filling the root disk - [MoQ builds against rind 0.4 and its corrected adapters](/quest/m0/rind-adapters.md) - the calls rind 0.4 and its adapter patch releases change, adapted the day they publish diff --git a/quest/m0/macos-check.md b/quest/m0/macos-check.md new file mode 100644 index 0000000000..b2586124f4 --- /dev/null +++ b/quest/m0/macos-check.md @@ -0,0 +1,55 @@ +# [S] just check passes on macOS + +## Goal + +`just check` on a clean `main` checkout passes on a macOS host inside the Nix +dev shell, as it already does on Linux. Three failures block it today, all +reproduced on `origin/main` by +[moq-dev/moq#8392](https://github.com/moq-dev/moq/pull/8392) and +[moq-dev/moq#8394](https://github.com/moq-dev/moq/pull/8394): + +- `test gh`: `sh/version.test.py`'s + `test_cut_promotes_only_published_library_dependencies_and_preserves_exemptions` + (`'0.0.1' != '0.22.0'`) and `test_release_plz_keeps_manual_cut_despite_breaking_commits`, + with release-plz 0.3.149. +- `check js`: `doc/.vitepress/api/index.test.ts`, "a re-export from another + workspace package links to its owner"; the rendered link holds + `/private/var/folders/...`. +- `check rs`: `RUSTDOCFLAGS="-D warnings" cargo doc --no-deps -p moq-carla-bridge` + reports unresolved links to `Bridge`, `Source`, and `protocol`. + +Non-goal: a macOS runner on the PR gate (rejected in +[macos.md](/quest/m0/nightly/macos.md)). + +## Plan + +Planned 2026-11-09 (maintainer, /quest-complete follow-up of #8392 and #8394). +Milestone: ✅ m0 (rejected: a later milestone). + +Causes, read from source on Linux (no macOS host was available): + +- carla bridge, **confirmed**: `demo/carla/bridge/src/lib.rs` puts + `#![cfg(target_os = "linux")]` after its `//!` docs, so on macOS the crate is + empty and the intra-doc links dangle. Either gate the links too or build the + crate (and its docs) only on Linux, e.g. by keeping it out of the macOS doc + selection. +- doc re-export link, **guess**: `tmpdir()` is `/var/folders/...` on macOS, + a symlink to `/private/var/...`. `index.ts` computes package paths with + `relative(root, dir)`; if one side is resolved through the symlink (by + TypeScript or the workspace scan) and the other is not, the link becomes a + `../../private/var/...` path. Confirm by checking which side resolves, then + realpath both sides in `index.ts` (production paths can be symlinked too), + not only in the test. +- `sh/version.test.py`, **guess**: the Linux dev shell provides release-plz + 0.4.1 (`pkgs.release-plz` in `flake.nix`), while the failing host ran + 0.3.149, so it likely picked up a non-Nix `release-plz` (e.g. from + `~/.cargo/bin`) ahead of the dev shell. The flake uses one nixpkgs for both + systems, so a different darwin build is less likely. If it is PATH, the + test should fail loud on a release-plz older than it supports instead of + asserting wrong versions; if the dev shell's darwin release-plz really is + 0.3.149, align it. + +Verify each fix on a macOS host (a maintainer machine or a manual Platform +dispatch), and on Linux. + +Public API: none. Wire: none.