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

Request larger runner support for GitHub Actions. #1281

Closed
austinlparker opened this issue Oct 31, 2022 · 20 comments
Closed

Request larger runner support for GitHub Actions. #1281

austinlparker opened this issue Oct 31, 2022 · 20 comments
Assignees
Labels

Comments

@austinlparker
Copy link
Member

The Demo SIG has encountered significant challenges in regards to build time for releases with standard GitHub Actions runners. A full x86 build takes an hour currently; This is obviously challenging on its own, but we would like to perform multi-arch builds to resolve issues with the demo running on Apple Silicon. These multi-platform builds take over 4 hours. I'll provide more details below.

Per this page, Teams/Enterprise plans have access to larger runners if requested. Would we be able to request these runners in order to see if throwing more resources at the problem helps?

--

Our build times are significantly impacted by the overhead required for gRPC builds in several languages (C++, PHP, etc.). We aren't able to use local caching, because runners are ephemeral. We also are required to build each stage completely in the target architecture (can't build/share a x86 gRPC layer with an arm64 binary layer for example), so we can't do platform targeting in the Dockerfile itself to 'quickly' build underlying layers then only emulate arm for the final compilation step.

The only other thing we can really think to do would be to refactor the Dockerfiles to build + publish base images for our 'slow' builds, but since the base image would need OpenTelemetry libraries itself in the case of C++, I feel like we'd just be regenerating it every month anyway?

@austinlparker
Copy link
Member Author

@open-telemetry/technical-committee Are y'all the GitHub admins? Would you be able to enable larger runners?

@mtwo
Copy link
Member

mtwo commented Nov 8, 2022

@bogdandrutu @carlosalberto the TC owns GitHub permissions, correct? Who should Austin work with on the TC?

@dyladan
Copy link
Member

dyladan commented Nov 8, 2022

I think @SergeyKanzhelev was in discussions with CNCF about the enterprise account. He may have some details

@trask
Copy link
Member

trask commented Nov 8, 2022

The initial discussions (~2 years ago) were directly with GitHub, though I'm not sure if things have changed since then. I have the original GitHub contacts if needed.

I'd be interested to look over the admin settings for the GitHub org first, to see if there's any mention already of cost limits in place on the org. Other than the cost question, it looks doesn't look difficult to configure large runners based on link @austinlparker provided above, and I generally support the idea of throwing hardware at the problem at least for the time being.

If anyone from the TC wants to ping me on slack I can help with this.

@yurishkuro
Copy link
Member

We also have an outstanding invitation to join CNCF Enterprise account, which is likely to have higher limits on the runners.

@bogdandrutu
Copy link
Member

This is what I see in the "runners" I saw that I can enable larger once maybe, so you may be able to run on these:

Screen Shot 2022-11-08 at 3 56 56 PM

@bogdandrutu
Copy link
Member

Also we already joined CNCF Enterprise, so these are part of that CNCF enterprise. But they cannot be used apparently, I can manually enable some "repos" to use them looks like. If anyone interested in working on this, ping me on slack and we can hack around:

Screen Shot 2022-11-08 at 4 04 02 PM

@bogdandrutu
Copy link
Member

Access Log:

  • Created a new runner with ubuntu 16 cores, price for this is 0.064 per minute of usage, limited to max 15 at a time.
  • Created a runner group with only demo repo.

Looks like it works, but we need to pay attention to cost.

@bogdandrutu
Copy link
Member

I disabled this experiment, we consumed only for the first build 634minutes * 0.064 => 40.576$

This is too much to justify the pros (build was still failing after 5h). Happy to re-enable if we get some info from CNCF about the budget we have and how much we can use.

@SergeyKanzhelev
Copy link
Member

CC: @jeefy to comment on "allowance" for the project

@trask
Copy link
Member

trask commented Nov 29, 2022

I've opened a CNCF Service Desk ticket to inquire about allowance / costs.

@dyladan
Copy link
Member

dyladan commented Dec 2, 2022

@trask assigning you since you made the ticket

@RobertKielty
Copy link

RobertKielty commented Dec 6, 2022

@jeefy I've picked up the call on the Service Desk. Let's discuss this today.

@bogdandrutu thank you for your prudence. I'm reviewing the referenced GH Actions at the top of this issue will collate them so that I can go over them with Jeefy later today. I'll get back to you with any questions that I have.

@RobertKielty
Copy link

RobertKielty commented Dec 9, 2022

@trask I Just updated the Service Desk request.

Please check the new Github Action runners available to the projects and let me know when you first start making use of them.

@trask
Copy link
Member

trask commented Feb 6, 2024

FYI we now have access to Arm GitHub runners, see #1821, and you can open a repo maintenance request to get access

@trask
Copy link
Member

trask commented Feb 6, 2024

@austinlparker will that resolve this issue?

Copy link

This has been automatically marked as stale because it has been marked as needing author feedback and has not had any activity for 7 days. It will be closed if no further activity occurs within 7 days of this comment.

@github-actions github-actions bot added the Stale label Feb 13, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 20, 2024
@trask
Copy link
Member

trask commented Jun 14, 2024

GitHub just recently announced official GitHub Arm runners, it would be great if someone wants to try these out (it may require @open-telemetry/technical-committee to

https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/

GitHub is ecstatic to unveil ArmⓇ-based Linux and Windows runners for GitHub Actions are now in Public Beta.

OpenTelemetry is under the CNCF's GitHub Enterprise account, so we should have access to this feature

These runners are available to our customers on our GitHub Team and Enterprise Cloud plans.

@austinlparker
Copy link
Member Author

austinlparker commented Jun 15, 2024 via email

@trask
Copy link
Member

trask commented Jun 15, 2024

If someone could check and turn these on for the demo repo, that’d be swell

done! see #2156 for more details

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants