wharfy 0.17.0 — verify --install installs from each channel and runs it
verify --install — install it, then run it
verify used to fetch a manifest and compare a version string. A formula can say
0.17.0 while the bottle it points at is missing, corrupt, or unable to start.
--install installs each channel the way your users install it, then runs the
binary. Everything lands somewhere throwaway.
| channel | what --install actually does |
|---|---|
| apt, rpm | installs from your repo inside debian:12 / fedora:40 and runs it |
| script | runs the published install.sh (or install.ps1 on Windows) into a temporary prefix |
| goinstall | go install …@<tag> into a temporary GOBIN |
| releases | downloads every asset and checks its sha256 against the manifest |
| homebrew | the formula is read; the bottle is not installed |
| scoop | not covered yet; reported as skipped |
$ wharfy verify --install
✓ verified homebrew, releases, script, goinstall, apt, rpm; skipped scoop
Without --install a check is partial. A channel wharfy cannot check is skipped.
Verifying nothing is never ok.
Verifying one channel
$ wharfy verify script --install
✓ verified script
What gets verified comes from channels: in wharfy.yaml, the same list publish
reads. There is no second place to keep in sync.
Choosing the image and the run command
verify:
images:
apt: ubuntu:24.04
rpm: rockylinux:9
run: [status, --quiet]
| key | default | write it when |
|---|---|---|
images |
apt: debian:12 / rpm: fedora:40 |
you want the distro you actually ship to |
run |
tries --version → version → --help |
your CLI needs a subcommand to start |
run reaches every place a binary is launched — the container, the temporary prefix,
the throwaway GOBIN.
What wharfy now refuses
A typo in wharfy.yaml used to be silence.
$ wharfy config
✗ wharfy.yaml is invalid (showing inferred config)
! config_invalid: wharfy.yaml: line 6: unknown key "images"
fix wharfy.yaml; see schemas/wharfy.config.json for known keys
A channel removed from channels: stays removed, even when you name it directly.
$ wharfy publish scoop --dry-run
✗ scoop is not in wharfy.yaml channels: — nothing published
! channel_not_configured: scoop is not a configured channel (declared: homebrew, script)
install.ps1 is tested on a real Windows
The install.ps1 fixed in 0.16.1 failed on every Windows machine: PowerShell hit a
syntax error while parsing it. Now, on every pull request, both Windows PowerShell 5.1
and PowerShell 7 run it — download, install, launch.
Getting it
brew upgrade wharfy / scoop update wharfy / go install github.com/ShiroDoromoto/wharfy/cmd/wharfy@latest. On Linux, from the apt / yum repo.