Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] Set up CI for Intel/M1 Macs on GitHub Actions #9569

Closed
hcho3 opened this issue Sep 11, 2023 · 4 comments · Fixed by #9886
Closed

[CI] Set up CI for Intel/M1 Macs on GitHub Actions #9569

hcho3 opened this issue Sep 11, 2023 · 4 comments · Fixed by #9886

Comments

@hcho3
Copy link
Collaborator

hcho3 commented Sep 11, 2023

The current setup leaves a lot to be desired:

  • I have to use my personal laptop (Macbook Pro 2019, Intel) to manually build libxgboost4j.so. Since the laptop is running MacOS Ventura, the resulting binary may use APIs that aren't available on older MacOS. See libxgboost4j.dylib can support macOS Catalina version=10.15.7? #9563.
  • Users of Apple Silicon (M1/M2) are left to build the JVM package from the source, which is not entirely straightforward.

Proposal

  • Set up GitHub Actions to build libxgboost4j.so for Intel Mac.
  • Use MacStadium to build libxgboost4j.So for Apple Silicon. It will require 89 USD/month. Let's ask users if they are willing to provide the extra funding.
  • NEW: Use GitHub Actions to set up CI for M1 Mac. Note that this is not free. Calculation for the estimated cost is provided below.
@hcho3
Copy link
Collaborator Author

hcho3 commented Sep 11, 2023

Opened #9570 to request for funding.

@hcho3 hcho3 pinned this issue Oct 2, 2023
@hcho3 hcho3 changed the title [CI] Set up CI to build libxgboost4j.so [CI] Set up CI for Intel/M1 Macs on GitHub Actions Oct 2, 2023
@hcho3
Copy link
Collaborator Author

hcho3 commented Oct 2, 2023

To set up CI for M1 macs, we need to subscribe to GitHub Teams plan for organization. The plan charges $ 4 per organization member. Enabling this plan for the DMLC organization would be very expensive, as the org has more than 200 members.

So to save costs, we'd need to create a separate org and create a mirror repo that mirrors the XGBoost repo.
In this setup, we won't run the CI for every pull request or commit. We'd manually invoke the CI in order to build and test XGBoost on M1.

Estimated cost per month: 44 USD/month

  • GitHub Teams plan: 4 USD/member * 3 members = 12 USD
  • M1 runner: 0.16 USD/min * 20 min/job * 10 jobs = 32 USD

@hcho3 hcho3 unpinned this issue Oct 10, 2023
@zupo
Copy link

zupo commented Nov 15, 2023

You don't need to subscribe to GitHub Teams plan. Write to support. https://github.com/OceanSprint uses macos-latest-xlarge paid runners, but we don't pay for Teams plan.

@hcho3
Copy link
Collaborator Author

hcho3 commented Dec 13, 2023

@zupo Thanks for the pointer. For now, we decided to purchase a Mac mini to run CI jobs and thus won't be needing paid runners.

@hcho3 hcho3 closed this as completed Dec 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants