Fix v4.0.0 release fallout: install.sh assets, AUR key fail-fast, docs
Merged
JE
3mo ago+63+63+01234567890123456789-37-37-01234567890123456789
Follow-ups from the v4.0.0 stable release (run 30305193571).
What broke
scripts/install.shis broken in production. v4.0.0 becamelatest, and the installer still fetches the v3 asset scheme (fizzy-<os>-<arch>bare binaries +SHA256SUMS-<os>-<arch>.txt), which GoReleaser no longer publishes. Everycurl | bashinstall currently 404s.- The
aur-publishjob failed withLoad key "/home/runner/.ssh/aur": invalid format— the storedAUR_KEYsecret content is not a parseable OpenSSH key (likely flattened newlines). This was the first run to ever exercise it.
Changes
- install.sh: rewritten for the GoReleaser layout — downloads
fizzy_<ver>_<os>_<arch>.tar.gz(.zipon Windows), verifies against the singlechecksums.txt, extracts the binary. Fixed as soon as this merges, since the installer is served from the repo. - publish-aur.sh: writes the key with
printf | tr -d '\r'and validates it withssh-keygen -yimmediately, failing with a clear remediation message (gh secret set AUR_KEY --env release < keyfile) instead of dying mid-clone. - README: Homebrew install is now
brew install --cask basecamp/tap/fizzy(cask is live inbasecamp/homebrew-tap); dropped the robzolkos tap instructions and the stale "not yet released" warning. - RELEASING.md: corrected the secret inventory (
RELEASE_CLIENT_ID/RELEASE_APP_PRIVATE_KEY/AUR_KEYlive in thereleaseenvironment, not repository level;HOMEBREW_TAP_TOKENis minted per-run by thecli-release-botApp), documented the multi-line secret pitfall, fixed the AUR setup steps to include local key validation, and added a tap-migration ordering runbook.
Verification
- install.sh run live against v4.0.0 on darwin-arm64 (this Mac), linux-amd64 (Debian container), and native Arch x86_64 — all install and report
fizzy version 4.0.0. - The generated PKGBUILD/.SRCINFO were build-tested in an Arch container:
makepkgbuilds 4.0.0 from the source tarball,.SRCINFOmatchesmakepkg --printsrcinfo, the installed package runs and ships completions + license. (The PKGBUILD had never been exercised — the AUR job always died at SSH.) - The fail-fast path was tested with a garbage
AUR_KEY: PKGBUILD generation completes, then the script exits with the clear error.
Not in this PR (pending @robzolkos)
- Re-store
AUR_KEYfrom a validated key file andgh run rerun 30305193571 --failed. - Merge the tap migration on
robzolkos/homebrew-fizzy-cli.
Summary by cubic
Fixes v4.0.0 installs by switching the installer to GoReleaser archives with exact filename checksum matching and safer extraction. Hardens AUR publishing with fail-fast, non-interactive key checks; updates Homebrew docs and release secret setup.
-
Bug Fixes
- Rewrites
scripts/install.shto downloadfizzy_<ver>_<os>_<arch>.tar.gz(Windows.zip), verify againstchecksums.txtby exact archive name (tolerates leading*), extract withunzipor zip-capabletar, and error clearly if neither is available. - Updates
scripts/publish-aur.shto preserve newlines and strip CRs when writingAUR_KEY, validate non-interactively withssh-keygen -y(stdin from/dev/null) to fail fast on invalid or passphrase-protected keys, and guard missingAUR_KEYwith a copy-pasteable remediation (gh secret set AUR_KEY --env release -R basecamp/fizzy-cli < keyfile).
- Rewrites
-
Docs
- README: Homebrew install is now
brew install --cask basecamp/tap/fizzy; prereleases are available from Releases. - RELEASING.md: all release credentials live in the
releaseenvironment; adds exactghcommands with-R basecamp/fizzy-cli(multi-line secret example included), notesRELEASE_CLIENT_IDusesgh variable set, documents multi-line secret pitfalls and AUR key validation, and adds tap migration ordering.
- README: Homebrew install is now