Skip to content

CI: Increase GitHub Actions resources #46600

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

Closed
datapythonista opened this issue Apr 1, 2022 · 8 comments
Closed

CI: Increase GitHub Actions resources #46600

datapythonista opened this issue Apr 1, 2022 · 8 comments
Labels
CI Continuous Integration

Comments

@datapythonista
Copy link
Member

xref #46493 (comment)

I'm assuming it'd make our life easier, if we could significantly increase our resources in GitHub actions, so we could standardize most of our CI to use it. In partiicular builds in Azure pipelines, I think we want to keep CircleCI unless GitHub actions start supporting arm.

I contacted the open source program manager at GitHub to see if this is an option. I asked them few times already over the past few years, as part of a GitHub feedback group I'm in, but never got an answer. Let's see if this changed.

If this is not an option, I think another option could be to use a self-hosted runner. We should be able to get the hardware for free, with the sponsoring agreements we're working on at NumFOCUS. I guess it wouldn't be too complex to setup or maintain. So, maybe worth if this is going to save us time from maintaining different CI systems.

I need to check in detail, and make sure we can use both our current quota, plus self-hosted runners, but I assume it's possible.

Thoughts?

CC: @jreback @mroeschke @jonashaag

@datapythonista datapythonista added the CI Continuous Integration label Apr 1, 2022
@jonashaag
Copy link
Contributor

Would be great.

(Btw, I think we would be better off with a single fast 16 core machine than all of the Azure and GH machines combined (based on an observed 5x speed up running CI on an M1 machine with 1 core vs on GHA))

@jreback
Copy link
Contributor

jreback commented Apr 1, 2022

we need as simple as possible
and as maintainable as possible

i think we have had a lot of churn recently and would not change anything at this time

@jonashaag
Copy link
Contributor

I think the best option would be just move everything to Docker containers and run that. Then we can use whatever platform we want that supports Docker.

Doesn’t work for Windows though.

@mroeschke
Copy link
Member

The first option I would like to investigate is upgrading our Github plan from the Free (I presume we are on now) plan to the Pro or Team plan as this satisfies:

Maybe Github can be nice enough to bump us for free or we can use Tidelift/some other source of funding.

The self-hosted runner could also be an interesting idea as well, though I share some of @jreback's hesitancy as CI maintenance surface area would increase to knowing about the hardware provider and the connection between the provider and Github.

@datapythonista
Copy link
Member Author

GitHub upgraded our repo to the Enterprise-level actions quota, which should be a major increase in the resources for the CI (not sure exactly how much, I'll try to understand better what are the changes later).

Please let me know if any feedback (any problem, or if you notice the improvement).

CC: @pandas-dev/pandas-core

@jreback
Copy link
Contributor

jreback commented Apr 1, 2022

oh wow
thanks @datapythonista

@datapythonista
Copy link
Member Author

If I'm checking at the right place, and there aren't more limits I'm unaware of, we just went from 20 concurrent workers, to 180... 🤯

https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits

@jreback
Copy link
Contributor

jreback commented Apr 2, 2022

wow

@jonashaag jonashaag mentioned this issue Apr 3, 2022
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration
Projects
None yet
Development

No branches or pull requests

4 participants