feat: add support for macos runners#4930
Open
edersonbrilhante wants to merge 30 commits intogithub-aws-runners:mainfrom
Open
feat: add support for macos runners#4930edersonbrilhante wants to merge 30 commits intogithub-aws-runners:mainfrom
edersonbrilhante wants to merge 30 commits intogithub-aws-runners:mainfrom
Conversation
Contributor
Author
|
@npalm what do you think? I didn't test yet. I gonna test during this week. |
0c44c3c to
ecd88a0
Compare
Member
|
Sorry had no time yet to dig in. |
41912ad to
e142885
Compare
Contributor
Author
|
@npalm I think the code is ready for review. |
Contributor
Author
|
@koendelaat @guicaulada When the time permits can you also take a look? |
08812d4 to
68e4bb9
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR enables support for macOS runners on EC2 instances by adding "osx" as a valid runner_os option alongside "linux" and "windows". The changes include macOS-specific bootstrap scripts, placement group and license specification configuration for dedicated Mac hosts, and updated documentation.
Changes:
- Added "osx" as a valid value for
runner_osvariables across modules with corresponding validation updates - Introduced macOS-specific user-data and runner installation/startup scripts
- Added
license_specificationsvariable support through the module hierarchy for Mac dedicated host licensing requirements - Created a new example module for provisioning dedicated Mac hosts with resource groups and license configurations
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| variables.tf | Added osx to runner_os validation and updated description |
| modules/runners/variables.tf | Added osx support and license_specifications variable |
| modules/runners/templates/user-data-osx.sh | New macOS bootstrap script template |
| modules/runners/templates/start-runner-osx.sh | New macOS runner startup script |
| modules/runners/templates/install-runner-osx.sh | New macOS runner installation script |
| modules/runners/templates/install-runner.ps1 | Removed trailing newline |
| modules/runners/scale-down.tf | Added osx minimum runtime default of 20 minutes |
| modules/runners/scale-down-state-diagram.md | Updated documentation with OSX timing |
| modules/runners/main.tf | Added osx AMI defaults, templates, and license specification support |
| modules/runners/README.md | Updated documentation with osx references |
| modules/runner-binaries-syncer/variables.tf | Added osx to runner_os validation |
| modules/runner-binaries-syncer/main.tf | Fixed file extension logic to use tar.gz for osx |
| modules/runner-binaries-syncer/README.md | Updated documentation |
| modules/multi-runner/variables.tf | Added license_specifications to runner config |
| modules/multi-runner/runners.tf | Wired license_specifications parameter |
| modules/multi-runner/README.md | Updated documentation |
| main.tf | Wired license_specifications parameter |
| examples/prebuilt/variables.tf | Added osx to description |
| examples/prebuilt/README.md | Updated documentation |
| examples/dedicated-mac-hosts/* | New example for Mac dedicated host provisioning |
| README.md | Updated documentation with osx and license_specifications |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
8dfd4f6 to
b7c722c
Compare
b7c722c to
019e874
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds support for provisioning GitHub Actions runners on macOS EC2 instances by wiring placement group configuration through the multi-runner module and introducing macOS-specific bootstrap scripts.
Motivation
macOS EC2 instances require a dedicated host (host_id), which is managed through placement groups.
This work prepares the module to request mac-based EC2 runners by consuming placement configuration as defined in #4929
This PR closes #2070 #2069
Test Plan:
and license_configuration_arn