Skip to content

Commit

Permalink
Update ARM build docs (#723)
Browse files Browse the repository at this point in the history
* Update build-for-arm.md

Signed-off-by: Rune Soerensen <rsoerensen@salesforce.com>

* Add PHP to list of buildpacks

Signed-off-by: Rune Soerensen <rsoerensen@salesforce.com>

---------

Signed-off-by: Rune Soerensen <rsoerensen@salesforce.com>
Co-authored-by: Aidan Delaney <adelaney21@bloomberg.net>
  • Loading branch information
runesoerensen and AidanDelaney committed Jun 12, 2024
1 parent dce445d commit 5bc2c91
Showing 1 changed file with 5 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ weight=1
<!--more-->

Building for the ARM architecture is now easier than ever! The `heroku/builder:24` builder supports both AMD64 and ARM64 architectures, and includes
multi-arch Java, Node.js, Python, Ruby, Scala and Go buildpacks. You can read more about Heroku's [Cloud Native Buildpacks here][heroku-buildpacks].
multi-arch Go, Java, Node.js, PHP, Python, Ruby and Scala buildpacks. You can read more about Heroku's [Cloud Native Buildpacks here][heroku-buildpacks].

### 1. Clone the [samples][samples] repository

Expand All @@ -22,17 +22,17 @@ git clone https://github.com/buildpacks/samples

### 2. Build the app

If you're using an ARM64 computer (such as an Apple Silicon Mac, or an AWS Graviton instance), you can produce an ARM64 OCI image with [pack][pack] simply by setting your builder to `heroku/builder:24`:
If you're using an ARM64 computer (such as an Apple Silicon Mac, or an AWS Graviton instance), you can build an ARM64 OCI image with [pack][pack] simply by setting your builder to `heroku/builder:24`:
```
pack build java-maven-sample --path samples/apps/java-maven/ --builder heroku/builder:24
```
<!--+- "{{execute}}"+-->

As `heroku/builder:24` is a multi-arch builder, it'll default to the current architecture, and an AMD64 image will be built when running `pack` on that architecture.
By default, `pack` uses the current architecture for multi-arch builders like `heroku/builder:24`, so an AMD64 image will be built on AMD64 systems.

If you want to build an ARM64 image from a different host architecture, you can use the arch-specific builder tag: `heroku/builder:24_linux-arm64`:
If you want to build an ARM64 image from a different host architecture, use the `--platform` parameter:
```
pack build java-maven-sample --path samples/apps/java-maven/ --builder heroku/builder:24_linux-arm64
pack build java-maven-sample --path samples/apps/java-maven/ --builder heroku/builder:24 --platform linux/arm64
```
<!--+- "{{execute}}"+-->

Expand Down

0 comments on commit 5bc2c91

Please sign in to comment.