wharfy 0.13.0 — 空の GUI マニフェストを黙って出さない

何が問題だったか

scoop で配る GUI プロジェクトが、インストール時にこう失敗した。

> scoop install <app>
ERROR '<app>' doesn't support current architecture!

実機は 64bit で、アーキは問題ではない。publish されたマニフェストに、ダウンロード先が1つも配線されていなかった。

{
  "version": "…",
  "architecture": {},
  "bin": "<cli>.exe",
  "shortcuts": [["<cli>.exe", "<app>"]],
  "checkver": "github"
}

scoop のバンドル経路はポータブル .zip(中に .exe)を取る。このバンドルは NSIS インストーラsetup.exe)だけでポータブル zip を持たず、拾える成果物が無かった——それでも wharfy は空 architecture のマニフェストを、そうと言わず publish していた。配布者はユーザーのインストール失敗で初めて気づく。winget も同型で、zip が無ければ Installers が空の installer マニフェストが PR として提出されていた。

どう直したか

publish は、配線できなかったマニフェストを出さない。そのチャネルがインストールできる成果物が無ければ、理由を添えて skip する。

✓ scoop skipped — nothing to wire
  ⚠ channel_skipped: scoop skipped: no windows .zip wired to scoop —
    the bundle ships no portable zip (scoop needs a portable .zip, not
    an NSIS/msi installer). Ship a windows .zip bundle, or distribute
    the GUI via cask/winget

bucket には何も書かず、publish 済みとしても記録しない。同じガードは winget にも入れた——空の Installers が PR になることはない。

GUI インストーラの行き先

wharfy の Windows GUI 経路はポータブル .zip を主経路に保つ(scoop/winget はこれを直接インストールし、インストーラ工程を挟まない)。NSIS/msi インストーラはこれらのチャネルには配線しない——scoop/winget には .zip バンドルを出すか、インストーラは Cask/直配布で配る。

入れ方

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