wharfy 0.7 — ビルド済みバイナリを持ち込めば、どの言語でも配れる

ビルド済みバイナリを持ち込む

0.7 までは wharfy が自分でクロスビルドしていた——つまり Go 専用だった。0.7 からは、すでにビルドしたバイナリを言語を問わず渡せる。wharfy はビルドを飛ばし、それをパッケージして全 owned チャネルへ配る。

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(でも zig build でも何でも)が dist/ にバイナリを置けば、あとは wharfy release / wharfy publish がやる。Go 専用チャネル——goinstallhomebrew-core の source build——は自動で外れる。

どこまでが自分、どこからが wharfy

prebuilt はコンパイルを各アプリ側へ戻す。その先はすべて wharfy が持つ:

自分 wharfy
(os, arch) ごとにコンパイル archive・checksum・GitHub Release
バイナリに版を焼き込む homebrew・scoop・curl | sh
バイナリに署名(codesign / Authenticode) deb / rpm、マルチアーキ OCI イメージ、AUR

バイナリに埋め込んだ署名はパッケージングを通っても残るので、自己署名のバイナリはそのまま配られる。wharfy は相変わらず何も注入せず、あなたのソースには触れない。

入れ方

brew upgrade wharfy / scoop update wharfy / go install github.com/ShiroDoromoto/wharfy/cmd/wharfy@latest。Linux は apt / yum リポジトリから。