Repository navigation
Conversation
…um macOS GitHub is deprecating the macos-14 image. The four macOS jobs (CI tests, build-blst, the release libblst build and the ceremony CLI) now run on macos-15. build-blst.sh sets MACOSX_DEPLOYMENT_TARGET=11.0 (overridable) on macOS. Without it, the dylib records the build host's macOS as its minimum, so a library built on macos-15 would not load on macOS 14. Checked locally: the rebuilt dylib records minos 11.0 and :zeroj-blst:test passes on it (35). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Initial automated review · Aster Hi @satran004, thanks for the PR! 🙏 This is an automatic first check by an AI reviewer. It does not replace maintainer review and may be wrong. Reviewed commit: No issues found in this first check. Not tested: Code and workflows were read only; native builds, binary inspection, and older-macOS runtime checks were not run. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GitHub is deprecating the
macos-14runner image. This moves every macOS job tomacos-15:ci.ymlTest (macos-arm64)build-blst.ymllibblstbuildrelease.ymllibblstbuild and test, on tagsceremony-cli.ymlzeroj-blst/BUILDING.mdis updated to match.Why
build-blst.shalso changesA dylib records the build host's macOS version as its minimum (
LC_BUILD_VERSION minos) unless a deployment target is set. Built onmacos-15, the releasedlibblst.dylibwould refuse to load on macOS 14, and ZeroJ would fall back to pure Java there.build-blst.shnow exportsMACOSX_DEPLOYMENT_TARGET=11.0on macOS (overridable). 11.0 is the first macOS on Apple silicon. blst is plain C and assembly with no OS API dependency.Checked locally (macOS 26.0.1, Apple silicon):
zeroj-blst/scripts/build-blst.shbuilt pinned blst v0.3.15 (6d960cd), and the dylib recordsminos 11.0(SDK 26.2)../gradlew :zeroj-blst:testagainst that rebuilt library: 35 passed, 0 failed.Not changed, and why
native-imageignoresMACOSX_DEPLOYMENT_TARGETand stamps the binary with the build host's version. Verified locally: a hello-world image records the host's 26.0, with or without the variable. So the macos-arm64 CLI binary will need macOS 15 (today it needs 14); the fat jar still runs anywhere. Passing-H:NativeLinkerOption=-mmacosx-version-min=…lowers the stamp, but it is an experimental flag, and running on older macOS cannot be tested here, so it is left out.libblst.dylib(onmain) recordsminos 26.0: it was built on a macOS 26 machine, not in CI. Builds that use the committed binary (not tag releases, which rebuild from source) cannot load blst on macOS 14 or 15. That is fixed by the normal refresh (BUILDING.md§3: runbuild-blst, commitlibblst-all-platformsand the manifest) after this merges. It is not part of this PR.Test plan
Test (macos-arm64)gets amacos-15runner and passesbuild-blstworkflow; checkotool -l libblst.dylib | grep minosshows 11.0 on the mac artifact🤖 Generated with Claude Code