Skip to content

fix(release): restrict goreleaser to Linux-only targets - #10

Merged
This-Is-NPC merged 1 commit into
masterfrom
fix/release-linux-only
Jun 15, 2026
Merged

fix(release): restrict goreleaser to Linux-only targets#10
This-Is-NPC merged 1 commit into
masterfrom
fix/release-linux-only

Conversation

@This-Is-NPC

Copy link
Copy Markdown
Owner

Before

  • The v0.2.0 release failed. goreleaser cross-compiled 6 targets (goos: [linux, darwin, windows] × goarch: [amd64, arm64]), but the codebase uses POSIX-only syscalls (Setpgid, syscall.Kill) with no build constraints, so the windows build broke and the whole release aborted.

After

  • goreleaser builds Linux-only (amd64 + arm64). The release completes green and publishes the artifacts Backstage's actual (Hyprland/Wayland) audience uses.

Summary of changes

Aspect Change
Build targets goos: [linux, darwin, windows]goos: [linux]
Archive dropped windows→zip format_override; removed install.ps1 from archive files
Windows installer install.ps1 deleted from the repo
Docs README quickstart: removed Windows PowerShell and macOS/WSL install instructions

Files updated

  • .goreleaser.yml
  • README.md
  • install.ps1 (deleted)

Validation

Scenario Outcome
goreleaser check configuration valid
goreleaser release --snapshot --clean builds only linux_amd64 + linux_arm64; produces backstage_Linux_x86_64.tar.gz, backstage_Linux_arm64.tar.gz, checksums.txt

Deviations

Criterion Deviation Rationale
Multi-platform support darwin dropped too, not just windows Backstage is built for Hyprland; macOS/Windows have no real audience. Confirmed Linux-only is intended.

Risks / follow-ups

  • The failing v0.2.0 tag will not auto-re-run after merge. Either re-trigger the goreleaser job for that tag, or let the next release-please tag pick up the fix.
  • Multi-platform builds remain blocked by unguarded POSIX syscalls; adding //go:build constraints is explicitly out of scope here.

References

  • Commits: 900d172
  • Okt task: #1187
  • Branch: fix/release-linux-only

The v0.2.0 release failed: goreleaser cross-compiled windows/darwin
targets, but the codebase uses POSIX-only syscalls (Setpgid,
syscall.Kill) with no build constraints, breaking the windows build.

Backstage targets Hyprland/Wayland and is Linux-only by nature, so
non-Linux artifacts have no audience. Scope releases to Linux:

- goreleaser: goos = [linux] only; drop windows zip format_override
- remove install.ps1 (Windows installer) from archive files and repo
- README: drop Windows PowerShell and macOS/WSL install instructions

Verified with 'goreleaser release --snapshot --clean': builds only
linux_amd64 and linux_arm64, producing backstage_Linux_x86_64.tar.gz
and backstage_Linux_arm64.tar.gz plus checksums.txt.
@This-Is-NPC
This-Is-NPC force-pushed the fix/release-linux-only branch from 900d172 to 67f010f Compare June 15, 2026 05:33
@This-Is-NPC
This-Is-NPC merged commit 8c402e4 into master Jun 15, 2026
1 check passed
@This-Is-NPC
This-Is-NPC deleted the fix/release-linux-only branch June 15, 2026 05:34
@This-Is-NPC This-Is-NPC changed the title build(release): restrict goreleaser to Linux-only targets fix(release): restrict goreleaser to Linux-only targets Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant