-
Notifications
You must be signed in to change notification settings - Fork 7
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
Test getting started guide with ARM && AMD #293
Conversation
8c0f7d3
to
ee1ed38
Compare
4cbafe3
to
2fe7f2a
Compare
Previously, all Heroku runners used AMD (x86) CPU architecture. We added the ability to build and run on an ARM machine (aarch64, like an M3 Mac), but building binaries for ARM required a beta GitHub Action (GHA) runner. The GHA runner beta required extra invocations to setup tools on the machine (such as installing docker). The GHA ARM runners are now out of beta. This PR adds a test that exercises the ARM codepath on CI in addition to the existing AMD codepath.
2fe7f2a
to
fa59c7c
Compare
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.
Thank you for looking into ARM64 testing!
Whilst this change does ensure that the buildpack build succeeds with an ARM64 platform (which confirms a few things, like: is the buildpack.toml
[[targets]]
metadata correct, and does the buildpack at least try and run on ARM vs failing with an error during the build), it doesn't actually confirm that the resultant app image is valid.
For example, if the Ruby CNB implementation forgot to check context.target
during the build, and hardcoded an AMD64 path for some binary - the build could still succeed, but the app image then fail to run at runtime?
Instead, I think it might be best to add matrix testing to the integration test suite, rather than this printing build output step?
The ruby binary is exercised several times in the buildpack on this app via commands. The commands I don't think we need the added complexity of adding an extra dimension to the matrix. Or rather, I'm wary of it. |
Makes sense - happy to land this for now - though longer term I still think there is some benefit of testing a subset of the |
Previously, all Heroku runners used AMD (x86) CPU architecture. We added the ability to build and run on an ARM machine (aarch64, like an M3 Mac), but building binaries for ARM required a beta GitHub Action (GHA) runner. The GHA runner beta required extra invocations to setup tools on the machine (such as installing docker).
The GHA ARM runners are now out of beta. This PR adds a test that exercises the ARM codepath on CI in addition to the existing AMD codepath.
GUS-W-15805220