Skip to content

feat: add multi-architecture release artifacts#127

Merged
JeffFaer merged 2 commits into
google:mainfrom
honnix:feat/multi-arch-release-artifacts
Jun 5, 2026
Merged

feat: add multi-architecture release artifacts#127
JeffFaer merged 2 commits into
google:mainfrom
honnix:feat/multi-arch-release-artifacts

Conversation

@honnix

@honnix honnix commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add explicit GOOS/GOARCH cross-compilation to the release workflow
  • Produce binaries for linux/amd64, linux/arm64, darwin/amd64, darwin/arm64, and windows/amd64
  • Set CGO_ENABLED=0 and use explicit -o flag for consistent output naming
  • Artifact names now include architecture (e.g. keep-sorted_linux_amd64 instead of keep-sorted_linux)

Motivation

The current workflow builds one binary per OS using the runner's native architecture. With GitHub Actions runners moving to arm64 for macOS, there's no darwin/amd64 binary for Intel Macs, and there has never been a linux/arm64 binary.

Breaking change

Artifact names change from keep-sorted_<os> to keep-sorted_<os>_<arch>. Users scripting downloads against the old names will need to update.

Test plan

  • Verify the workflow YAML is valid
  • Trigger a test release on the fork to confirm all 5 matrix jobs produce correctly named binaries
  • Verify cross-compiled binaries with file command (ELF ARM aarch64, Mach-O x86_64, etc.)

@google-cla

google-cla Bot commented Jun 1, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Add explicit GOOS/GOARCH cross-compilation to the release workflow,
producing binaries for linux/amd64, linux/arm64, darwin/amd64,
darwin/arm64, and windows/amd64.
@honnix honnix force-pushed the feat/multi-arch-release-artifacts branch from c00a145 to dab2540 Compare June 1, 2026 10:13
@honnix

honnix commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

Artifact names change from keep-sorted_ to keep-sorted__. Users scripting downloads against the old names will need to update.

If this is critical I can try to keep the backward compatibility.

@honnix honnix marked this pull request as ready for review June 1, 2026 10:20
@honnix

honnix commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

@JeffFaer Does this make sense? Thanks.

@JeffFaer

JeffFaer commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Artifact names change from keep-sorted_<os> to keep-sorted_<os>_<arch>. Users scripting downloads against the old names will need to update.

No, that breaking change seems fine to me. I think this makes sense. Thank you for taking this on!

Are you planning on running through those testing steps yourself?

@JeffFaer JeffFaer self-requested a review June 5, 2026 17:18
@honnix

honnix commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Are you planning on running through those testing steps yourself?

I think most of them could only be exercised via actions. I can probably test in my fork.

Comment thread .github/workflows/publish-release-artifacts.yml Outdated
@honnix

honnix commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Are you planning on running through those testing steps yourself?

I think most of them could only be exercised via actions. I can probably test in my fork.

https://github.com/honnix/keep-sorted/releases/tag/test all look correct. I verified the binaries.

@honnix

honnix commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Wait a sec. Looks like removing the suffix is actually wrong. nvm

@honnix honnix force-pushed the feat/multi-arch-release-artifacts branch from da04d14 to 641964e Compare June 5, 2026 17:34
@JeffFaer JeffFaer enabled auto-merge (squash) June 5, 2026 17:47
@JeffFaer JeffFaer merged commit df95dc0 into google:main Jun 5, 2026
10 checks passed
@honnix honnix deleted the feat/multi-arch-release-artifacts branch June 8, 2026 05:31
@honnix

honnix commented Jun 8, 2026

Copy link
Copy Markdown
Contributor Author

Thank you for merging this. Would you mind cutting a new release?

@honnix

honnix commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

@JeffFaer A gentle ping. Thanks.

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.

2 participants