jesseduffield / jesseduffield/lazygit

Add riscv64 to release binaries

Open
#5,419 4 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.