Skip to content

Expand language-specific formula guidance - #24479

Merged
MikeMcQuaid merged 1 commit into
mainfrom
language-specific-formula-guidance
Nov 4, 2026
Merged

MikeMcQuaid merged 1 commit into
mainfrom
language-specific-formula-guidance

Conversation

@MikeMcQuaid

Copy link
Copy Markdown
Member
  • Make language build helpers and runtime layouts discoverable.
  • Explain GoReleaser metadata without relying on release notes.

Fixes #24474


  • Have you followed our Contributing guidelines?
  • Have you checked for other open Pull Requests for the same change?
  • Have you explained what your changes do? Performance claims (e.g. "this is faster") must include brew benchmark results.
  • Have you explained why you'd like these changes included, not just what they do?
  • For bug fixes, have you given step-by-step brew commands to reproduce the bug?
  • Have you written new tests (excluding integration tests)? Here's an example.
  • Have you successfully run brew lgtm (style, typechecking and tests) locally?

  • I did not use AI/LLM to create this PR, or I disclosed the tool/model below and reviewed its output; I did not attribute commits to AI and will answer maintainer questions and review comments myself without AI/LLM.

Codex with GPT 6.1 Sol at Extra High effort, with local review and testing.


@coderabbitai

coderabbitai Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f3702f82-bcfc-4bef-a799-9b0e37b6268d
Commits

Reviewing files that changed from the base of the PR and between bd7f1a7 and 0a6aa70.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
Summary

Summary by CodeRabbit

  • Documentation
    • Added formula-authoring guidance for a broad range of language ecosystems, covering dependencies, reproducible fetching, offline builds, installation layouts, runtime environments and functional testing.
    • Expanded Go and Rust guidance, including module fetching, build helpers and offline installation.
    • Added Perl installation and module-path examples for common project types.
    • Updated links to language-specific authoring guidance and documented Homebrew helpers for Shards and Swift.
    • Refined heading-style exceptions for language and technology names.

The documentation adds authoring guidance for additional language ecosystems. It also updates related navigation, build-helper references, and Vale heading exceptions.

Changes: Formula authoring documentation

Layer / File(s) Summary
Documentation links and helper references
docs/Language-Runtimes-and-Packages.md, docs/Formula-Cookbook.md
The runtime and package guide links to language-specific authoring guidance. The cookbook adds Shards and Swift helpers and removes examples for Go build flags.
C/C++, Go, and Rust guidance
docs/Language-Specific-Formulae.md
The authoring guide adds compiler, dependency-fetching, installation, and helper guidance for C/C++, Go, and Rust.
Build and package workflows
docs/Language-Specific-Formulae.md
The guide adds dependency, build, installation, and runtime instructions for Perl, Fortran, Lua, shell scripts, Vala, Swift, Haskell, Tcl/Tk, OCaml, and Zig.
Runtime ecosystems and heading rules
docs/Language-Specific-Formulae.md, docs/vale-styles/Homebrew/Headings.yml
The guide adds PHP, .NET, Erlang and Elixir, Crystal, and other ecosystem notes. The Vale heading exceptions include names used by the new guidance.
Merge Risk: Moderate · previous review bd7f1

Correct the GoReleaser resource warning and Perl installation example before merging so contributors do not create incorrectly identified or unusable formula binaries.

Pre-merge checks: Passed 3 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Out of Scope Changes check Warning The Go section and the Go cross-reference in docs/Formula-Cookbook.md implement #24474. The pull request also adds guidance that #24474 does not request. At head, docs/Language-Specific-Formulae.md co… Remove the non-Go ecosystem sections added to docs/Language-Specific-Formulae.md. This includes at least ## C and C++, ## Perl and ## Rust, and the other added sections listed in the summary (Fortran, Lua, shell scripts, Vala, Swift, …
Passed Passed checks: 3 passed
Check name Status Explanation
Title check Passed The title "Expand language-specific formula guidance" matches the main change. The PR adds a new language-specific formula guide and updates the related docs, Vale heading rules, and cross-links. The …
Description check Passed The description states the goals of making language build helpers and runtime layouts discoverable and explaining GoReleaser metadata. This relates directly to the changes in the Language-Specific For…
Linked Issues check Passed Issue #24474 asks for a dedicated Go section in Language-Specific Formulae. The section should help contributors find Go features, including GoReleaser ldflags support. At head, docs/Language-Specif…
Full details: Title check

Explanation

The title "Expand language-specific formula guidance" matches the main change. The PR adds a new language-specific formula guide and updates the related docs, Vale heading rules, and cross-links. The title is specific and concise. It does not name every language, which is expected.

Full details: Description check

Explanation

The description states the goals of making language build helpers and runtime layouts discoverable and explaining GoReleaser metadata. This relates directly to the changes in the Language-Specific Formulae, Formula Cookbook, and Language Runtimes docs. It also references the linked issue, so it is not off-topic.

Full details: Linked Issues check

Explanation

Issue #24474 asks for a dedicated Go section in Language-Specific Formulae. The section should help contributors find Go features, including GoReleaser ldflags support. At head, docs/Language-Specific-Formulae.md contains a ## Go section. It covers the Go toolchain and GOTOOLCHAIN=local. It covers module download in fetch, std_go_args, and the output:, ldflags:, gcflags: and tags: options. It also covers ldflags: :goreleaser, the metadata set (main.version, main.commit, main.date, main.builtBy) and the limits of the helper. At head, docs/Formula-Cookbook.md links to Language-Specific Formulae#go for std_go_args. The issue has no separate coding or automated-test requirement. The documentation requirement is met.

Full details: Out of Scope Changes check

Explanation

The Go section and the Go cross-reference in docs/Formula-Cookbook.md implement #24474. The pull request also adds guidance that #24474 does not request. At head, docs/Language-Specific-Formulae.md contains ## C and C++, ## Perl and ## Rust sections. Their content covers CMake builds, CPAN resources and Cargo fetch helpers. The supplied summary lists further added sections for Fortran, Lua, shell scripts, Vala, Swift, Haskell, Tcl/Tk, OCaml, Zig, PHP, .NET, Erlang/Elixir and Crystal. The file read was truncated at 16000 bytes, so those sections were not verified at head. The docs/Formula-Cookbook.md diff at head adds Shards and Swift to the list of helper build systems. This edit does not concern Go. The supplied summary also lists supporting edits in docs/vale-styles/Homebrew/Headings.yml and docs/Language-Runtimes-and-Packages.md. These serve the non-Go sections. The unrelated sections and edits remain at head, so the previous FAIL still applies.

Resolution

Remove the non-Go ecosystem sections added to docs/Language-Specific-Formulae.md. This includes at least ## C and C++, ## Perl and ## Rust, and the other added sections listed in the summary (Fortran, Lua, shell scripts, Vala, Swift, Haskell, Tcl/Tk, OCaml, Zig, PHP, .NET, Erlang/Elixir and Crystal). Revert the Shards and Swift addition in the helper list in docs/Formula-Cookbook.md. Revert the docs/vale-styles/Homebrew/Headings.yml exceptions that only support removed sections. Revert the docs/Language-Runtimes-and-Packages.md link change if it only supports removed sections. Keep the ## Go section and the Go cross-references in docs/Formula-Cookbook.md. Move the removed guidance to separate issues and pull requests.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3c801f9e-3290-4b3e-bfd1-d2f87b1e784b
Commits

Reviewing files that changed from the base of the PR and between 96d2a24 and 41de043.

Files selected for processing: 4
  • docs/Formula-Cookbook.md
  • docs/Language-Runtimes-and-Packages.md
  • docs/Language-Specific-Formulae.md
  • docs/vale-styles/Homebrew/Headings.yml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.

Comment thread docs/Language-Specific-Formulae.md Resolved
@MikeMcQuaid
MikeMcQuaid force-pushed the language-specific-formula-guidance branch from 41de043 to 14c5067 Compare November 4, 2026 16:41
Comment thread docs/Language-Specific-Formulae.md Resolved
@MikeMcQuaid
MikeMcQuaid force-pushed the language-specific-formula-guidance branch from 14c5067 to bd7f1a7 Compare November 4, 2026 17:31
@MikeMcQuaid
MikeMcQuaid added this pull request to stack #24482 November 4, 2026 17:32

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to GitHub limitations.

⚠️ Outside diff range comments (1)

Minor · Populate bin before wrapping the installed commands. · Language-Specific-Formulae.md:325-327

docs/Language-Specific-Formulae.md:325-327
Minor · Functional Correctness · Quick win

Populate bin before wrapping the installed commands.

make install places the commands under libexec/bin, but bin.env_script_all_files scans bin as its source. Because this example never populates bin, it creates no wrappers and the installed commands are not exposed as formula commands.

Suggested fix
     system "perl", "Makefile.PL", "INSTALL_BASE=#{libexec}"
     system "make", "install"
+    bin.install libexec/"bin"/*
     bin.env_script_all_files libexec/"bin", PERL5LIB: ENV.fetch("PERL5LIB")
Review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5acf8dd8-b1c4-4a7e-8e63-871ef378fa3c
Commits

Reviewing files that changed from the base of the PR and between 14c5067 and bd7f1a7.

Files selected for processing: 1
  • docs/Language-Specific-Formulae.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 6 remain after this review.

Comment thread docs/Language-Specific-Formulae.md Resolved
- Make language build helpers and runtime layouts discoverable.
- Explain GoReleaser metadata without relying on release notes.

Fixes #24474
@MikeMcQuaid
MikeMcQuaid force-pushed the language-specific-formula-guidance branch from bd7f1a7 to 0a6aa70 Compare November 4, 2026 18:09
@MikeMcQuaid
MikeMcQuaid added this pull request to the merge queue Nov 4, 2026
Merged via the queue into main with commit c321a20 Nov 4, 2026
55 checks passed
@MikeMcQuaid
MikeMcQuaid deleted the language-specific-formula-guidance branch November 4, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: Go section in Language Specific Formulae

2 participants

⌂ 换网址