Skip to content

build(release): ship per-arch macOS tarballs instead of universal - #667

Merged
brianjfox merged 1 commit into
mainfrom
chore/per-arch-macos-tarballs
Aug 14, 2026
Merged

build(release): ship per-arch macOS tarballs instead of universal#667
brianjfox merged 1 commit into
mainfrom
chore/per-arch-macos-tarballs

Conversation

@brianjfox

Copy link
Copy Markdown
Owner

Summary

Replaces the single universal (arm64 + x86_64) macOS release tarball with two per-architecture tarballs, gnash-X.Y.Z-macos-arm64.tar.gz and gnash-X.Y.Z-macos-x86_64.tar.gz, each with its own .sha256. A universal binary carries both slices, so each direct downloader was paying for an architecture they can't run; the per-arch tarballs are roughly half the size (~770–850 KB gzipped vs ~1.5 MB).

Homebrew is unaffected: the formula installs from the source tarball, and bottles are already selected per platform tag by brew itself.

Changes

  • scripts/release.sh step 3 now loops over arm64 and x86_64, building each in its own build-release-<arch> tree (already covered by .gitignore's build-*/), verifying the slice with lipo -archs, and packaging per-arch tarballs. Idempotency is preserved per architecture.
  • Step 4 uploads all four assets via a new ASSETS array.
  • Generated release notes and the README now point users at the tarball for their architecture.

Testing

  • bash -n passes; the --help text range still renders correctly.
  • Ran the new step-3 loop end to end against a scratch staging dir: both arches build (x86_64 cross-compiles fine on Apple Silicon), lipo verification passes, tarballs package with the license/README extras, and a re-run skips both (idempotent).
  • Extracted the arm64 tarball and ran the binary: works.

🤖 Generated with Claude Code

Package gnash-X.Y.Z-macos-arm64.tar.gz and -x86_64.tar.gz (each with a
.sha256) in place of the single universal tarball, halving the download
for direct users. Homebrew is unaffected: the formula builds from the
source tarball and bottles are already selected per platform.
@brianjfox
brianjfox merged commit d1b9f9d into main Aug 14, 2026
1 check passed
@brianjfox
brianjfox deleted the chore/per-arch-macos-tarballs branch August 14, 2026 12:00
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