wharfy 0.8 — ビルド済みバンドルを持ち込めば、GUI も同じ経路で配れる

ビルド済みバンドルを持ち込む

0.7 はビルド済みのバイナリを受け取った。0.8 は、すでにビルド・署名済みのバンドル——.dmg.AppImage.zip.deb.rpm——を受け取り、デスクトップアプリを同じ経路で配る。bundle: を宣言すれば、wharfy がそれをアップロードして GUI チャネルへ流す。再ビルドも再署名もしない。

channels: [cask, releases]
bundle:
  name: My App
  bundles:
    - { os: darwin,  arch: universal, kind: dmg,      path: dist/MyApp-universal.dmg }
    - { os: linux,   arch: amd64,     kind: appimage, path: dist/MyApp-x86_64.AppImage }
    - { os: windows, arch: amd64,     kind: zip,      path: dist/MyApp-x64.zip }

tauri build(でも何でも)が dist/ にバンドルを置けば、あとは wharfy release / wharfy publish がやる。

一つの tap に、CLI と GUI が並ぶ

Cask は CLI の Formula と同じ tap に、<app>-app という独立した token で置かれる。だから一度の wharfy status で両方が見える:

homebrew   probed  published 1.0.0   acme/homebrew-app:Formula/app.rb
cask       probed  published 1.0.0   acme/homebrew-app:Casks/app-app.rb

各バンドルはそれぞれのチャネルへ流れる:

プラットフォーム チャネル
macOS Homebrew Cask
Linux AppImage(直ダウンロード)・deb / rpm
Windows Scoop app・winget

wharfy は notarize しない。自己署名の macOS バンドルは、cask の caveats に Gatekeeper の案内を添えて配られ、publish もそれを明示する——入れる人に不意打ちがない。

入れ方

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