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.