-
Notifications
You must be signed in to change notification settings - Fork 1
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
Support arm64 #233
Support arm64 #233
Conversation
fc02403
to
c66dc70
Compare
f47ae36
to
b0d0b4b
Compare
c66dc70
to
c1f3901
Compare
c1f3901
to
c128461
Compare
To test this, I had to modify your example steps. Since I'm on an Intel-based Mac, my description = "Heroku-24 (Ubuntu 24.04) builder sans buildpacks"
[stack]
id = "heroku-24"
# Direct reference to heroku/heroku:24 arm64 variant image by sha
build-image = "heroku/heroku@sha256:860714147f7deb5540aada42db1028d88204bf1ba0ded8209663c5d4d55d423d"
# Direct reference to heroku/heroku:24-build arm64 variant image by sha
run-image = "heroku/heroku@sha256:ef63d62be65d145f7db1f11257691b294b5dcc302ffe14a33185884780572e1c"
[lifecycle]
version = "0.19.0" But it worked, and that's awesome! |
Yes, definitely. Is this tracked somewhere so we don't forget? |
Yep, I just created an issue for it #239 :) |
This PR adds the linux/arm64 target in
buildpack.toml
.For testing the buildpack, an arm64 compatible builder can be created locally (using the newly released
heroku-24
base images (tested on an m1 Mac with Docker'scontainerd
feature enabled), and a basic builder configuration file) - e.g. something like this:builder-24/builder.toml
:Create the builder:
Compile and package the CNBs:
To test that the
x86_64
version still work as intended, we need to use the old builder (asheroku/builder:24
won't work for multi-arch locally):To test
aarch64
:Running the commands twice should reuse cached layers as usual. Another app can be used to verify cache invalidation, e.g.:
This can also be tested with an integration test in
buildpacks/go/tests/integration_tests.rs
(and a similar test should be added whenheroku/builder:24
is available in the registry):See comment below for creating an arm64 builder on an amd64 host.