[GH-ISSUE #1478] Provide official 32-bit (i386/386) release binaries #1042

Open
opened 2026-05-07 00:29:49 +02:00 by BreizhHardware · 2 comments

Originally created by @xmha97 on GitHub (Oct 28, 2025).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1478

Hi there — thanks for the great project! I'd like to request official 32-bit builds/releases for ntfy.

Why

  • There are still many users and embedded / older systems that only run 32-bit OSes (Windows 32-bit, Linux i386, etc.). Providing 32-bit binaries increases compatibility and adoption for those users.
  • The repository already contains a goreleaser.yml, so adding additional architectures should integrate cleanly with the existing release pipeline. ([GitHub][1])

Target platforms

  • Windows (GOOS=windows, GOARCH=386)
  • Linux (GOOS=linux, GOARCH=386)
  • (Optional) other OS/arch combinations if desired (e.g., freebsd/386)

What I propose

  1. Add 386 (aka i386) to the list of architectures that are built and attached to releases (via goreleaser or CI).
  2. Add a short note in the README / Releases about which platforms are supported (including 32-bit).
  3. Optionally publish 32-bit artifacts named clearly (e.g. ntfy-<version>-windows-386.zip, ntfy-<version>-linux-386.tar.gz).

Minimal technical hints

  • For a direct go build cross-build:
# example: build windows 32-bit
GOOS=windows GOARCH=386 go build -o ntfy-windows-386.exe ./cmd/ntfy
# example: build linux 32-bit
GOOS=linux GOARCH=386 go build -o ntfy-linux-386 ./cmd/ntfy
  • For goreleaser: add 386 to the goarch list (or equivalent matrix). Example snippet (adapt to existing file):
builds:
  - id: ntfy
    main: ./main.go
    goos:
      - linux
      - windows
    goarch:
      - amd64
      - 386
  • For GitHub Actions matrix example:
strategy:
  matrix:
    goos: [linux, windows]
    goarch: [amd64, 386]
# use GOOS/GOARCH from matrix to cross-compile

Notes / caveats

  • Some dependencies (CGO or native libs) may complicate cross-compilation; if so, enabling static builds or building on respective OS runner may be necessary.
  • If maintainers prefer, community members (including me) can prepare a PR that adds the 386 entry to goreleaser.yml and a CI matrix for review.

Thanks — happy to help test 32-bit artifacts if you'd like.

Originally created by @xmha97 on GitHub (Oct 28, 2025). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1478 Hi there — thanks for the great project! I'd like to request official 32-bit builds/releases for ntfy. **Why** * There are still many users and embedded / older systems that only run 32-bit OSes (Windows 32-bit, Linux i386, etc.). Providing 32-bit binaries increases compatibility and adoption for those users. * The repository already contains a `goreleaser.yml`, so adding additional architectures should integrate cleanly with the existing release pipeline. ([[GitHub](https://github.com/binwiederhier/ntfy/)][1]) **Target platforms** * Windows (GOOS=windows, GOARCH=386) * Linux (GOOS=linux, GOARCH=386) * (Optional) other OS/arch combinations if desired (e.g., `freebsd/386`) **What I propose** 1. Add `386` (aka `i386`) to the list of architectures that are built and attached to releases (via goreleaser or CI). 2. Add a short note in the README / Releases about which platforms are supported (including 32-bit). 3. Optionally publish 32-bit artifacts named clearly (e.g. `ntfy-<version>-windows-386.zip`, `ntfy-<version>-linux-386.tar.gz`). **Minimal technical hints** * For a direct `go build` cross-build: ```bash # example: build windows 32-bit GOOS=windows GOARCH=386 go build -o ntfy-windows-386.exe ./cmd/ntfy # example: build linux 32-bit GOOS=linux GOARCH=386 go build -o ntfy-linux-386 ./cmd/ntfy ``` * For goreleaser: add `386` to the `goarch` list (or equivalent matrix). Example snippet (adapt to existing file): ```yaml builds: - id: ntfy main: ./main.go goos: - linux - windows goarch: - amd64 - 386 ``` * For GitHub Actions matrix example: ```yaml strategy: matrix: goos: [linux, windows] goarch: [amd64, 386] # use GOOS/GOARCH from matrix to cross-compile ``` **Notes / caveats** * Some dependencies (CGO or native libs) may complicate cross-compilation; if so, enabling static builds or building on respective OS runner may be necessary. * If maintainers prefer, community members (including me) can prepare a PR that adds the 386 entry to `goreleaser.yml` and a CI matrix for review. Thanks — happy to help test 32-bit artifacts if you'd like.
Author
Owner

@sebastianluczak commented on GitHub (Jan 12, 2026):

+1, I'd love to see 32-bit architecture get some love. I've got some old hardware that I'd like to test upon.

<!-- gh-comment-id:3740039425 --> @sebastianluczak commented on GitHub (Jan 12, 2026): +1, I'd love to see 32-bit architecture get some love. I've got some old hardware that I'd like to test upon.
Author
Owner

@binwiederhier commented on GitHub (Jan 20, 2026):

I am happy to provide official builds. I cannot test all of them, obviously. If you provide a PR, I'll merge it and the next release will have it.

<!-- gh-comment-id:3770674228 --> @binwiederhier commented on GitHub (Jan 20, 2026): I am happy to provide official builds. I cannot test all of them, obviously. If you provide a PR, I'll merge it and the next release will have it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#1042
No description provided.