[CI] Drop x86_64 macOS from JNI builds

Ouverte
#1,305 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
72/100
Type d'issue
Refactorisation
Clarté
Clairement spécifiée
Activité
Active
Stack technique
github-actions, java, macos, shell
Domaine
build-system, ci-cd

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

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-cpp and 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 the macos-15-intel / x86_64 entry from the jni-macos matrix, and stop extracting and verifying jni-macos-x86_64.tar.gz in the binaries job.
  • test.yml: remove the AMD64 / macos-15-intel entry from the macos test matrix.
  • Remove the Homebrew workarounds that only existed for the x86_64 runners (the /usr/local python@XXX --overwrite conflict loop, and the uname -m guard around the pkg-config uninstall).
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

Langage dominant
Java
Étoiles
95
Forks
154
Merge moyen
2 j 16 h
PR mergées (30 j)
9

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/arrow-java

Toutes les issues de apache/arrow-java

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.