-
Notifications
You must be signed in to change notification settings - Fork 660
Add support for ARM64 runners #102
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
Add support for ARM64 runners #102
Conversation
* Support Graviton (a1) and Graviton2 (*6g*)
@bdruth nice work!, we will do our best to check the PR later this week. |
@bdruth Thank you for this MR, just what we needed :) From what I understand this will not handle deciding whether to spin up a x86 machine or a arm64 machine based on the tags/labels of the run, correct? |
Spinning up based on the labels in the workflow requires that we extend the lambda scale up function to retrieve and parse the workflow. GitHub does not support any simple API to retrieve the information, and is not part of the event. |
@compiaffe what @npalm said :-) there's nothing stopping anyone from having multiple stacks of runners added to a repo, though? It might be inefficient as |
I fully agree, launching on any check_run was our first approach. There seems no other good alternative. But I think we should find a way to create runners a bit more sophisticated. It seems that every job leads to a check_run, but not completely sure. And eacht workflow seems related to a check_suite. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, we really like the feature added. We only have one change request for the ICU patch.
Verified deployments for both with and without ARM, all works |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the late notice, please can you use the pre-commit hooks. Yest it missing in the contribution guide / docs (is an issue ;) ) The pre-commit hooks will format your terraform code (reason why the build is failing https://github.com/philips-labs/terraform-aws-github-runner/pull/102/checks?check_run_id=933015675). And it will updte the readme with the terraform variables
Crap - sorry I missed this. I caught the formatting errors last time, will get this fixed. Mea culpa. |
OK @npalm - I ran the pre-commit hook and everything looks good now. It made some changes in the README files, too? Not sure what to make of that, though? It wasn't even in files that I edited, mostly, and in the one README I edited, not in the area that I edited. |
@bdruth thanks for your contribution, changed is merged. |
Issue Endorsed by Maintainers
See https://github.com/philips-labs/terraform-aws-github-runner/issues/101
Description of the Change
Basically tracked down where architecture relevant things were hard-coded and introduced variables to manage them. Two main things: the AMI and the actions-runner download from GitHub that's sync'd to the S3 bucket.
Alternate Designs
?
Possible Drawbacks
Everything defaults to the existing behavior and only changes if it detects a Graviton/Graviton2 instance-type. Probably introduced some maintenance as new instance types are released to correctly detect them as ARM64.
Verification Process
example/default
stack with a recent Graviton2 instance type (c6g.large).syncer
Release Notes
Checklist:
syncer
Closes #101