[CI] Drop x86_64 macOS from JNI builds
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- build-system, ci-cd
Research direction
Read rc.yml and test.yml first, focusing on the jni-macos, binaries, and macos matrix entries. Then inspect ci/scripts/jni_macos_build.sh and the Homebrew workaround sections. Done means x86_64 macOS is removed from the specified CI matrices and artifact checks, Intel-only workarounds are removed, and local x86_64 JNI builds remain supported.
Written by the indexing model from the issue text.
Description
Describe the enhancement requested
Homebrew treats x86_64 macOS as a tier 3 configuration and rarely builds bottles for it. This has broken the JNI macos-15-intel x86_64 job in the RC workflow repeatedly, because brew bundle doesn't build from source and aborts with no bottle available! before anything is compiled:
- #1269 worked around it for
aws-sdk-cppand gRPC. - #1270 worked around it for Node.js.
Each of these was a formula-by-formula patch, and any new dependency added to apache/arrow's cpp/Brewfile can break the job again the same way. We can't keep an x86_64 macOS JNI build green on a configuration Homebrew doesn't support.
As noted in #1269, dropping the macos-15-intel entry needs its own discussion because it is user-facing, so this issue is that discussion.
Proposal
Drop x86_64 macOS from CI:
rc.yml: remove themacos-15-intel/x86_64entry from thejni-macosmatrix, and stop extracting and verifyingjni-macos-x86_64.tar.gzin thebinariesjob.test.yml: remove theAMD64/macos-15-intelentry from themacostest matrix.- Remove the Homebrew workarounds that only existed for the x86_64 runners (the
/usr/localpython@XXX --overwriteconflict loop, and theuname -mguard around thepkg-configuninstall).
User-facing impact
Release JARs would no longer bundle x86_64 macOS .dylib files for arrow_cdata_jni, arrow_dataset_jni, arrow_orc_jni and gandiva_jni. Intel Mac users of those modules would need to build the JNI libraries themselves. ci/scripts/jni_macos_build.sh still handles x86_64, so a local Intel build keeps working.
aarch64 macOS, x86_64 and aarch64 Linux, and x86_64 Windows are unaffected.
Component(s)
Java, CI
- Dominant language
- Java
- Stars
- 95
- Forks
- 154
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 9
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/arrow-java
-
Type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/arrow-java#1300 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
apache/arrow-java#1261 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/arrow-java#1236 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
apache/arrow-java#1230 ·
-
Type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
apache/arrow-java#1205 ·
All issues in apache/arrow-java
Similar issues
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 90/100
apache/cloudstack#14222 ·
-
[BUG]茶杯方块在取茶时会引发崩溃 Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
1.0.0-alpha2 Type/Improvement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
wso2/dpdp-accelerator#272 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Difficulty 2/5 1-3 hours Newbie friendliness 65/100