Skip to content

ARM Mac open-source and packaged build #677

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

Merged
merged 64 commits into from
Sep 24, 2021
Merged

Conversation

jonsimantov
Copy link
Contributor

@jonsimantov jonsimantov commented Sep 23, 2021

This enables cross-compiling for arm64 Mac. This changes the default Xcode version to 12.2, as Xcode 11 doesn't support arm64, and 12.0 fails with vcpkg. It'll still build with 11.7 in the expanded matrix and omit arm64.

Unit tests are built, but not run, on arm64. (They can't be run until GitHub has hosted ARM Mac runners, or we add our own.)

This PR adds a --arch option to the testapp builder but does not yet build for arm64 in the integration_tests workflow.

For packaged builds, we now build LLVM binutils on Mac, in addition to GNU binutils. LLVM binutils are required for the merge_libraries step on Mac, as GNU binutils does not support outputting ARM64 Mach-O files properly. (We still need GNU binutils on Mac for c++filt). Because LLVM binutils can take a long time to build, we cache it.

@jonsimantov jonsimantov added the tests-requested: full Trigger a FULL set of integration tests (uses expanded test matrix). label Sep 24, 2021
@github-actions github-actions bot removed the tests-requested: full Trigger a FULL set of integration tests (uses expanded test matrix). label Sep 24, 2021
@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label Sep 24, 2021
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Sep 24, 2021
@jonsimantov
Copy link
Contributor Author

Successful packaging run: https://github.com/firebase/firebase-cpp-sdk/actions/runs/1268032776

Integration test failures in both source and packaged runs are flakes only.

Copy link
Contributor

@DellaBitta DellaBitta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with some questions.

@jonsimantov jonsimantov removed the tests: failed This PR's integration tests failed. label Sep 24, 2021
@jonsimantov jonsimantov merged commit 196188e into main Sep 24, 2021
@jonsimantov jonsimantov deleted the feature/arm-mac-packaged branch September 24, 2021 16:55
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. tests: succeeded This PR's integration tests succeeded. labels Sep 24, 2021
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Sep 24, 2021
@firebase firebase locked and limited conversation to collaborators Oct 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes tests: succeeded This PR's integration tests succeeded.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants