Feature: Build and publish macOS Universal Binary release archive #28

Merged
gronod merged 1 commits from feature/issue-27-macos-universal-binaries into development 2026-09-01 00:03:37 +01:00
Owner

Overview & Context

This PR adds support for building and publishing macOS Universal Binary release archives containing fat Mach-O dual-architecture (x86_64 Intel + arm64 Apple Silicon) executables for ArgyllCMS utilities, addressing #27 and enabling downstream consumers such as ICCery#164.

Key Changes

  • makepackagebin.sh:
    • Added support for HOSTTYPE=universal / MACHTYPE=universal-apple-darwin producing Argyll_V<version>_macOS_universal_bin.tgz.
    • Added support for NO_BUILD=1 to allow packaging pre-aggregated universal binaries directly.
  • .github/workflows/build-macos.yml:
    • Updated matrix build job to upload single-arch binaries (raw-bin-x86_64 and raw-bin-arm64).
    • Added dependent universal job on macos-15 runner that stitches binaries via lipo, verifies dual Mach-O architectures (file bin/*), runs smoke tests, and packages/publishes the Argyll_<tag>_<sha>_macOS_universal_bin.tgz artifact and release asset.
  • doc/ChangesSummary.html:
    • Documented macOS Universal Binary release archive availability.

Fixes #27.

### Overview & Context This PR adds support for building and publishing macOS Universal Binary release archives containing fat Mach-O dual-architecture (`x86_64` Intel + `arm64` Apple Silicon) executables for ArgyllCMS utilities, addressing #27 and enabling downstream consumers such as [ICCery#164](https://git.i3omb.com/gronod/ICCery/issues/164). ### Key Changes - **`makepackagebin.sh`**: - Added support for `HOSTTYPE=universal` / `MACHTYPE=universal-apple-darwin` producing `Argyll_V<version>_macOS_universal_bin.tgz`. - Added support for `NO_BUILD=1` to allow packaging pre-aggregated universal binaries directly. - **`.github/workflows/build-macos.yml`**: - Updated matrix `build` job to upload single-arch binaries (`raw-bin-x86_64` and `raw-bin-arm64`). - Added dependent `universal` job on `macos-15` runner that stitches binaries via `lipo`, verifies dual Mach-O architectures (`file bin/*`), runs smoke tests, and packages/publishes the `Argyll_<tag>_<sha>_macOS_universal_bin.tgz` artifact and release asset. - **`doc/ChangesSummary.html`**: - Documented macOS Universal Binary release archive availability. Fixes #27.
gronod added 1 commit 2026-09-01 00:03:34 +01:00
gronod merged commit 7b3ebf4c87 into development 2026-09-01 00:03:37 +01:00
gronod deleted branch feature/issue-27-macos-universal-binaries 2026-09-01 00:03:37 +01:00
Sign in to join this conversation.