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

codebuild: Add support for MacOS #31170

Closed
2 tasks
alanxluc opened this issue Aug 21, 2024 · 4 comments · Fixed by #31203 · 4 remaining pull requests
Closed
2 tasks

codebuild: Add support for MacOS #31170

alanxluc opened this issue Aug 21, 2024 · 4 comments · Fixed by #31203 · 4 remaining pull requests
Labels
@aws-cdk/aws-codebuild Related to AWS CodeBuild effort/medium Medium work item – several days of effort feature-request A feature should be added or improved. p2

Comments

@alanxluc
Copy link
Contributor

Describe the feature

CodeBuild recently added support for Mac builds. https://aws.amazon.com/about-aws/whats-new/2024/08/aws-codebuild-mac-builds/

The CDK can to be extended to support Mac CodeBuild fleets, as well as using those fleets in CodeBuild projects.

Use Case

I have a couple of existing CodeBuild jobs created using CDK for building a project on AL2023 and Windows. I would like to extend this to Mac as well to ensure that builds work smoothly on as many platforms as possible.

Proposed Solution

  1. This enum needs to have an additional MAC_ARM value added to it.
  2. A MacBuildImage class needs to be added to this file.

Validation will also need to be added, since the MacOS support has some limitations. See the release article linked above for more information.

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

CDK version used

2.152.0

Environment details (OS name and version, etc.)

Amazon Linux 2023

@alanxluc alanxluc added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Aug 21, 2024
@github-actions github-actions bot added the @aws-cdk/aws-codebuild Related to AWS CodeBuild label Aug 21, 2024
@pahud
Copy link
Contributor

pahud commented Aug 21, 2024

Absolutely! Is this something you'd like to pick up with a PR? We welcome pull requests for this.

@pahud pahud added p2 effort/medium Medium work item – several days of effort and removed needs-triage This issue or PR still needs to be triaged. labels Aug 21, 2024
@alanxluc
Copy link
Contributor Author

Sure, I'll give it a shot

Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

1 similar comment
Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 23, 2024
xazhao pushed a commit to xazhao/aws-cdk that referenced this issue Sep 12, 2024
### Issue # (if applicable)

Closes aws#31170.

### Reason for this change

CodeBuild recently added support for Mac builds.
https://aws.amazon.com/about-aws/whats-new/2024/08/aws-codebuild-mac-builds/

The CDK can to be extended to support Mac CodeBuild fleets, as well as
using those fleets in CodeBuild projects.

### Description of changes

- Added `MAC_ARM` value to EnvironmentType
[enum](https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-codebuild/lib/environment-type.ts)
- Added `MacBuildImage` to
[project.ts](https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-codebuild/lib/project.ts)

All design decisions were made by following the previous precedent set
by `LinuxBuildImage` and `WindowsBuildImage`.

### Description of how you validated changes

I added unit tests and integration tests for `MacBuildImage`. I ensured
that the CDK was able to build, and that the output CloudFormation stack
had the correct resources. I also successfully built the Codebuild
project that was deployed.

### Checklist
- [X] My code adheres to the [CONTRIBUTING
GUIDE](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and
[DESIGN
GUIDELINES](https://github.com/aws/aws-cdk/blob/main/docs/DESIGN_GUIDELINES.md)

----

*By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache-2.0 license*

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.