Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: universal builds for macOS (#1820)
* Nightly build generates macOS universal binary. For macOS (Darwin), some users are running on Intel silicon (x86_64), some on Apple silicon (aarch64). The purpose of this commit is to generate a universal binary of alr for macOS, so that users won't need to specify which version they need -- the loader will select the appropriate binary. To do this, a new job 'build-macos-universal' runs after the 'build' job has completed (which implies completion of its runs on macos-13 (x86_64) and macos-14 (aarch64)). This job dowloads & unpacks the x86_64 build to x86_64/, and the aarch64 build to aarch64/. It then copies aarch64/ to universal/ (so as to include the additional information, and runs lipo to create the universal binary in universal/bin/alr. The new binary has to be marked as executable, don't know why. alr-nightly-bin-universal-macos.zip is created and uploaded to the release directory. * .github/workflows/nightly.yml (build-macos-universal): new. * Release build generates macOS universal binary. For macOS (Darwin), some users are running on Intel silicon (x86_64), some on Apple silicon (aarch64). The purpose of this commit is to generate a universal binary of alr for macOS, so that users won't need to specify which version they need -- the loader will select the appropriate binary. To do this, a new job 'build-macos-universal' runs after the 'build' job has completed (which implies completion of its runs on macos-13 (x86_64) and macos-latest (aarch64)). This job dowloads & unpacks the latest prerelease x86_64 build to x86_64/, and the latest prerelease aarch64 build to aarch64/. It then runs lipo to create the universal binary in ./bin/alr. The new binary has to be marked as executable, don't know why. alr-<release]-bin-universal-macos.zip is created and uploaded to the release directory. * .github/workflows/ci-macos.yml (build-macos-universal): new. * Remove superseded investigative steps. Remove two steps that were inserted to check that no com.apple.quarantine attributes were applied when the individual architecture builds were downloaded (none were applied). * .github/workflows/nightly.yml (build-macos-universal): (check x86_64 attributes): remove. (check aarch64 attributes): remove.
- Loading branch information