wharfy 0.7 — bring a prebuilt binary, ship it from any language
Bring your own binary
Until 0.7, wharfy cross-compiled your tool itself — which meant Go. Now you can hand it binaries you already built, in any language, and wharfy skips the build: it packages them and ships to every owned channel.
channels: [releases, homebrew, scoop, script, apt, rpm]
prebuilt:
binaries:
- { os: darwin, arch: arm64, path: dist/mytool-darwin-arm64 }
- { os: linux, arch: amd64, path: dist/mytool-linux-amd64 }
- { os: windows, arch: amd64, path: dist/mytool-windows-amd64.exe }
cargo build (or zig build, or anything) drops binaries in dist/, and wharfy release / wharfy publish do the rest. The Go-only channels — goinstall and the homebrew-core source build — drop out on their own.
What’s yours, what’s wharfy’s
prebuilt moves the compile step back to your app. Everything downstream stays with wharfy:
| Yours | wharfy’s |
|---|---|
| compile each (os, arch) | archive + checksum + GitHub release |
| bake the version into the binary | homebrew · scoop · curl | sh |
| sign the binary (codesign / Authenticode) | deb / rpm, multi-arch OCI image, AUR |
A signature embedded in the binary survives packaging, so a self-signed binary ships as-is. wharfy still injects nothing and touches no source of yours.
Getting it
brew upgrade wharfy / scoop update wharfy / go install github.com/ShiroDoromoto/wharfy/cmd/wharfy@latest. On Linux, from the apt / yum repo.