Release binaries and install script #11
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Users should be able to install lazyforge with one command: a bash install script that downloads the right binary for their machine. That requires published release binaries, which don't exist yet.
Plan
Releases (Opus decides the tooling and records an ADR):
v*tag pushed tomain, a Forgejo workflow builds static binaries for linux/amd64, linux/arm64, darwin/amd64 and darwin/arm64, with the version stamped in through-ldflags.checksums.txt(SHA-256).make releaseplus the release API. Fewer moving parts wins unless GoReleaser buys something concrete.Install script (
install.shat the repo root):curl -fsSL https://git.bobparsons.dev/deadstyle/lazyforge/raw/branch/main/install.sh | bash.LAZYFORGE_VERSION=v1.2.3).checksums.txt, and refuses to install on a checksum mismatch.~/.local/binby default (LAZYFORGE_INSTALL_DIRoverrides). No sudo unless the target directory needs it. Prints a PATH hint if the directory isn't onPATH.bashand the standard tools present on stock Linux and macOS (curl,tar,sha256sum/shasum). Tested withshellcheckand in CI on both platforms if a macOS runner is available, otherwise Linux only, documented as such.Context
docs/design.md→ "Install and updates".🤖 Merged in #26. Pushing a v* tag on main builds Linux and macOS binaries (amd64/arm64) and publishes a release with checksums. install.sh installs or upgrades into ~/.local/bin and refuses a download whose checksum doesn't match. The release token is only exercised by the first real tag push.