Skip to content

moonshine.rn: is_lfs_pointer_file depends on undocumented rg, and the iOS build lacks the LFS preflight guard #443

Closed

Description

@abretonc7s

Two smaller findings from the Codex review of #441, both in packages/moonshine.rn.

1. is_lfs_pointer_file silently fails without rg

build-moonshine-android.sh:142:

if rg -q '^version https://git-lfs.github.com/spec/v1' "$file_path"; then

rg (ripgrep) is not declared as a dependency anywhere and is not present on a stock macOS or CI image. Under set -euo pipefail inside an if, a missing binary makes the condition false rather than aborting — so an unmaterialized LFS pointer is silently treated as a real file, and the guard added in #441 does not fire. The build then proceeds to the opaque CMake failure the guard exists to prevent.

Fix: use portable grep -q. Note the helper is duplicated, so both copies need it.

Regression check: with rg removed from PATH, pointer detection still returns 0.

2. The iOS build script has no equivalent guard

build-moonshine-ios.sh shares the same shape as the Android script — the same unconditional core/CMakeLists.txt source list and the same LFS flow — but has no post-pull check. It fails the same opaque way when the asset is unmaterialized.

Fix: add the equivalent guard before CMake runs.

Regression check: missing, pointer, override-supplied, and materialized cases each behave correctly.

Context

Neither is a regression from #441; both are pre-existing. The rg dependency is the more consequential of the two, since it can silently disable the guard that PR just added.

Related: #442 (setup.sh checks out a tag whose tree lacks the file), #437.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions