Homebrew
Publish to Homebrew for macOS and Linux package management.
Configuration
yaml
publishers:
- type: homebrew
tap: org/homebrew-tapOptions
| Option | Description | Default |
|---|---|---|
tap | Tap repository (org/homebrew-tap) | Required |
formula | Formula name | Project name |
homepage | Project homepage | Repository URL |
description | Package description | From project |
license | License identifier | Auto-detected |
dependencies | Homebrew dependencies | [] |
Examples
Basic Formula
yaml
publishers:
- type: homebrew
tap: host-uk/homebrew-tapWith Dependencies
yaml
publishers:
- type: homebrew
tap: host-uk/homebrew-tap
dependencies:
- git
- goCustom Description
yaml
publishers:
- type: homebrew
tap: host-uk/homebrew-tap
description: "CLI for building and deploying applications"
homepage: https://core.host.uk.comEnvironment Variables
| Variable | Description |
|---|---|
GITHUB_TOKEN | Token with repo access to tap (required) |
Setup
Create a tap repository:
org/homebrew-tapEnsure your
GITHUB_TOKENhas push access to the tapAfter publishing, users install with:
bashbrew tap org/tap brew install myapp
Generated Formula
ruby
class Myapp < Formula
desc "CLI for building and deploying applications"
homepage "https://github.com/org/myapp"
version "1.2.3"
license "MIT"
on_macos do
if Hardware::CPU.arm?
url "https://github.com/org/myapp/releases/download/v1.2.3/myapp_darwin_arm64.tar.gz"
sha256 "abc123..."
else
url "https://github.com/org/myapp/releases/download/v1.2.3/myapp_darwin_amd64.tar.gz"
sha256 "def456..."
end
end
def install
bin.install "myapp"
end
end