feat(release): release binaries and install script #26
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/11-release-install"
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?
Summary
Release binaries and the one-line installer (#11). Pushing a
v*tag that is onmainbuilds static binaries for Linux and macOS (amd64 and arm64) and publishes a Forgejo release with achecksums.txt.curl -fsSL https://git.bobparsons.dev/deadstyle/lazyforge/raw/branch/main/install.sh | bashinstalls or upgrades lazyforge in~/.local/bin.Changes
make release: plain cross-compiledgo build(CGO off, version stamped in), with tar.gz archives and SHA-256checksums.txtindist/..forgejo/workflows/release.yml: on av*tag it refuses tags that aren't onmain, runsmake check, thenmake release, then publishes.scripts/publish-release.sh: creates the release as a draft, uploads every asset, then publishes it. The installer therefore never sees a half-uploaded release. The token is never printed.install.sh:LAZYFORGE_VERSIONmake install-test, which is part ofmake check. Linux only, because no macOS runner is available.Test plan
scripts/test-install.shruns the realmake releaseand serves it from a local stand-in server. It covers 9 cases:make checkexit 0: format, lint,go test -race, govulncheck, build, shellcheck, and 9/9 install cases.Not verifiable before the first tag
The workflow's automatic token (
secrets.GITHUB_TOKEN) and its write access to releases can only be exercised by a real tag push. The asset field nameattachmentwas confirmed against the instance's API description.Rulings
Closes #11
🤖 Generated with Claude Code