feat(cli): vendor rubyists/homebrew-tap, make install.sh curl-pipeable - #75
Merged
bougyman merged 5 commits intoAug 12, 2026
Merged
Conversation
Manually bumps the manifest/.version.txt/mix.exs to 1.0.0 and flips bump-minor-pre-major/bump-patch-for-minor-pre-major off in .release-please-config.json - release-please would otherwise keep bumping minor/patch under 0.x forever, even off a breaking-change commit. From here, release-please's next PR picks up normal semver bumping (major/minor/patch) from this 1.0.0 baseline. Unblocks CRY-37 (homebrew tap), which is waiting on a real tagged release to exist.
…f building from source Previously required a local repo checkout (used BASH_SOURCE[0] to find app/) and a full Elixir/Erlang/Zig toolchain to build from source - unusable as a curl | bash one-liner despite its own comment claiming to be the Homebrew-less fallback. Now downloads the release tarball for the detected platform (already bundles the wrapper scripts), verifies it against the release's SHA256SUMS, and installs - no toolchain needed. Adds LC_VERSION to pin a specific release tag. Also fixes a real bug found while testing: a checksum-verification failure didn't actually stop the script (missing `|| exit 1` on the fetch_lc call), so it fell through into an unrelated second error instead of failing clean. Also updates the README: fixes the stale "Homebrew tap is planned but not yet available" note now that rubyists/homebrew-tap exists, and documents install.sh/uninstall.sh's new curl-pipeable one-liners.
bougyman
deleted the
bougyman/cry-37-create-rubyistshomebrew-tap-for-lc
branch
August 12, 2026 12:31
There was a problem hiding this comment.
Pull request overview
This PR vendors the new rubyists/homebrew-tap as a submodule and updates installation guidance by making install.sh truly curl-pipeable: it now fetches the appropriate prebuilt release tarball, verifies it via SHA256SUMS, installs the bundled binaries/scripts, and performs a best-effort macOS quarantine attribute removal.
Changes:
- Vendor
rubyists/homebrew-tapasvendor/rubyists-homebrew-tapand document the Homebrew-based install path. - Rewrite
install.shto download + checksum-verify release artifacts and install without requiring an Elixir/Erlang/Zig toolchain. - Update README install/uninstall one-liners and adjust guidance for Homebrew vs non-Homebrew installs.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| Readme.adoc | Adds Homebrew install steps and updates install.sh/uninstall.sh usage to curl-pipeable one-liners. |
| install.sh | Switches from building-from-source to downloading/verifying/extracting release tarballs and installing bundled executables/scripts. |
| .gitmodules | Adds the vendor/rubyists-homebrew-tap submodule entry. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+127
to
131
| if ! grep -- " $tarball\$" "$tmp_dir/SHA256SUMS" | (cd "$tmp_dir" && $sum_tool -c -) >/dev/null | ||
| then | ||
| printf 'error: checksum verification failed for %s\n' "$tarball" >&2 | ||
| exit 1 | ||
| fi |
| printf 'error: could not create a temp directory\n' >&2 | ||
| exit 1 | ||
| } | ||
| trap 'rm -rf "$tmp_dir"' EXIT |
This was referenced Aug 12, 2026
bougyman
pushed a commit
that referenced
this pull request
Aug 12, 2026
🤖 I have created a release *beep* *boop* --- ## [1.1.0](v1.0.0...v1.1.0) (2026-08-12) ### Features * **cli:** vendor rubyists/homebrew-tap, make install.sh curl-pipeable ([#75](#75)) ([e836ab1](e836ab1)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
rubyists/homebrew-taprepo as a submodule atvendor/rubyists-homebrew-tap, pinned to the commit whoselcformula points at the realv1.0.0release assets/sha256 (feat: add lc formula homebrew-tap#1). Closes CRY-37.install.shto be actually curl-pipeable: it previously required a local repo checkout (BASH_SOURCE[0]-derivedapp/path) and a full Elixir/Erlang/Zig toolchain to build from source, despite its own comment claiming to be the Homebrew-less fallback. Now downloads the release tarball for the detected platform (already bundles the wrapper scripts), verifies it against the release's ownSHA256SUMS, and installs - no toolchain needed. AddsLC_VERSIONto pin a specific release tag. Also strips macOS's quarantine attribute onlc(previously a manual README step).|| exit 1on the one command-substitution call that lacked it), so it fell through into an unrelated second error instead of failing clean.install.sh/uninstall.sh's new curl-pipeable one-liners.Test plan
install.shdirectly and piped (cat install.sh | bash, matching realcurl | bashusage) - both install correctly,lc --versionreports1.0.0LC_VERSION=v1.0.0(pinned) alongside default (latest)uninstall.sh- removes exactly the manifest's filesSHA256SUMS, and the tarball's flat layout againstbin.install's arg list🤖 Generated with Claude Code