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

Splitting out libxgboost into a separate feedstock #101

Open
jakirkham opened this issue Aug 31, 2022 · 1 comment
Open

Splitting out libxgboost into a separate feedstock #101

jakirkham opened this issue Aug 31, 2022 · 1 comment

Comments

@jakirkham
Copy link
Member

Currently the builds here can take a fair bit of time.

Building libxgboost itself takes a bit of time. Though it alone could be built within CI limits.

The issue here comes in when we try to build a full matrix of Python versions, R versions, etc. and try to squeeze them in a single job. No one of these jobs takes any particularly significant amount of time. However when combined together with the longer running libxgboost build, they can take more than CIs allot.

One way to improve this would be to break out the libxgboost build by itself. This would only take a handful of CI jobs to build and could be done reasonably within CI limits.

Once libxgboost is broken out, a full matrix of different R & Python jobs could be run in separate CI jobs. As each would be done in separate CI jobs, they would only take a handful of minutes each and finish rather quickly.

Admittedly this would mean updating 2 feedstocks instead of just 1 to make a release.

Would be curious to hear others thoughts on this 🙂

cc @conda-forge/xgboost

@jakirkham
Copy link
Member Author

jakirkham commented Aug 31, 2022

A less drastic alternative might be to cutdown the number of metapackages here. In particular there are several used to select CPU/GPU builds (for different Python & R versions), but we could limit this to 1 metapackage, which would mean fewer packages that need to be built (and environments created/solved for). There was an attempt at this in PR ( #35 ), which could be refreshed. Even after doing this we may still come close to the CI limits, but maybe that would be enough of an improvement to stay within them. Admittedly this change may be desirable anyways from a simplification standpoint.

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

No branches or pull requests

1 participant