Update Homebrew formula automation for Linux assets#39
Conversation
augur: ✅ PROCEED - risk 30/100Confidence 70/100 - calibration prior-only (0 incidents / 1 commit).
|
corvid-agent
left a comment
There was a problem hiding this comment.
Approve — correct and consistent with the release pipeline
The macOS-only → multi-platform formula switch is sound, and the moving parts line up:
- The Linux sidecar this depends on already exists. The new step fetches
augur-linux-x86_64.sha256and hard-fails if it's missing;release.ymlalready builds the static Linux binary and publishes bothaugur-linux-x86_64and its.sha256. No gap. - Regex-rewrite → full template is the right call. The old in-place patch couldn't express an
OS.mac? / elsesplit; regenerating from a fixed template is what makes the formula importable on Linux Homebrew (the stated bug). - Security posture preserved. Untrusted values still arrive via
env:only and are read throughos.environ[...]inside a quoted heredoc — nothing is interpolated into the run-string. Both shas are regex-validated; version derives from the tag. test doblock is valid.augur --versionemits the configured CLI version (0.4.0), soassert_match versionpasses.
Two minor, non-blocking notes:
- The
elsebranch serves the x86_64 binary to all non-mac platforms, so a Linux arm64 user would receive the x86_64 build. Fine given only x86_64 is built today, but it's an implicit assumption worth a comment. - Regenerating the whole file clobbers any manual edits to
Formula/augur.rbin the tap — intended here, just flagging it.
For the record: this change has no impact on fledge-plugin-augur — that plugin links AugurKit via SwiftPM and doesn't use the Homebrew/release-binary path this PR touches.
Generated by Claude Code
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
d0a8b7f to
4a9698f
Compare
|
Updated the generated formula template to match the tap changes:
Reran YAML parsing and validated the generated tap shape via the homebrew-tap PR. |
corvid-agent
left a comment
There was a problem hiding this comment.
Post-merge re-review — the final template landed in good shape
Re-reviewed against the merged commit 4a9698f (not the original d0a8b7f I first looked at). The revision is a clear improvement over the initial if OS.mac? / else approach:
- Declarative
on_macos/on_linux+on_arm/on_intelblocks. This resolves the arm64-fallthrough concern from the first pass: Linux is now explicitly guarded byon_intel, so a Linux arm64 host gets no bottle (a clean "unsupported" outcome) rather than being silently handed the x86_64 binary. Correct Homebrew idiom. define_method(:install)inside the platform/arch blocks keepsbrew audit --strictclean —def installcan't live inside anon_*block. Good catch, and the PR comment documents the why.url "...v#{version}/..."uses Ruby interpolation of the formula's ownversionrather than re-substituting it from Python — DRY, single source of truth.- Security posture intact. Untrusted values still arrive via
env:only and are read throughos.environ[...]in a quoted heredoc; both shas are regex-validated; version derives from the tag. No run-string interpolation. - The Linux sidecar it reads already ships from
release.yml(augur-linux-x86_64.sha256), and CI is green (proceed · risk 30/100).
Approving in spirit — already merged. No blocking issues.
Generated by Claude Code
|
One small follow-up worth tracking (non-blocking, post-merge): the formula now intentionally has no Linux arm64 branch, so For the record: confirmed this has no impact on Generated by Claude Code |
Summary
Validation
Related to #38