jesseduffield / jesseduffield/lazygit
Add riscv64 to release binaries
- Dominant language
- Go
- Stars
- 82.4k
- Forks
- 3k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 19
Description
### Is your feature request related to a problem? Please describe.
There are no riscv64 release binaries for lazygit. Users on RISC-V hardware (e.g. VisionFive 2, LicheePi 4A, SiFive boards) must build from source, which is straightforward but inconvenient for a pure Go project that already ships arm64 and armv6 binaries.
### Describe the solution you'd like
Add `riscv64` to the `goarch` list in `.goreleaser.yml`:
```yaml
goarch:
- amd64
- arm
- arm64
- '386'
- riscv64
```
Since lazygit builds with `CGO_ENABLED=0`, the riscv64 target requires no special toolchain or cross-compilation setup. Go has supported `GOARCH=riscv64` as a first-class target since Go 1.14.
This would produce `lazygit__linux_riscv64.tar.gz` (and `freebsd_riscv64`) in each release, with no changes to the build pipeline itself.
### Describe alternatives you've considered
- Building from source on the target board. This works but means riscv64 users cannot use package managers or install scripts that pull release binaries.
- Distribution-level packaging (Arch RISC-V, Debian ports). Some distros carry lazygit already, but official release binaries are the most portable option.
### Additional context
Lazygit builds successfully on native riscv64 hardware. The test suite passes except for one timing-sensitive test (`TestNewCmdTaskInstantStop`) that hits a race condition on slower hardware, not related to riscv64 support itself.
Build and test run on native riscv64: https://github.com/gounthar/lazygit/actions/runs/23536886583
Happy to open a PR if this seems reasonable.
Contributor guide
Assessment
This issue has not been assessed yet.