GoogleContainerTools / GoogleContainerTools/skaffold
Cloud Native Buildpacks with arm64
- Dominant language
- Go
- Stars
- 15.9k
- Forks
- 1.7k
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 10
Description
### Expected behavior
When running `skaffold run` / `skaffold build`, I expect the image to be built for linux/arm64 (when the Kubernetes nodes are running linux/arm64). This should behave, effectively, the same as a `pack build` which [now supports arm64
](https://buildpacks.io/docs/for-app-developers/tutorials/basic-app/#what-about-arm-apps)
### Actual behavior
The following warning is printed to stdout:
```
WARN[0000] builder for artifact "app" doesn't support building for target platforms: "linux/arm64". Building for supported platforms "linux/amd64" instead. subtask=app task=Build
```
after which the container is built for linux/amd64.
I suspect this is related to [this line](https://github.com/GoogleContainerTools/skaffold/blob/01bf56187622532f1aab5d1385f6d22b4016dc55/pkg/skaffold/build/buildpacks/build.go#L55) which enforces amd64 for Buildpacks (which is no longer true).
### Information
- Skaffold version: v2.13.2
- Operating system: Apple M1 - Sonoma 14.4.1
- Installed via: Homebrew
- Contents of skaffold.yaml:
```yaml
apiVersion: skaffold/v4beta11
kind: Config
metadata:
name: app
build:
artifacts:
- image: app
buildpacks:
builder: heroku/builder:24
buildpacks:
- docker://docker.io/heroku/buildpack-dotnet:0.1.1
manifests:
rawYaml:
- deploy/deployment.yml
- deploy/service.yml
```
### Steps to reproduce the behavior
`skaffold build` on an arm64 arch (like an M1 or a linux/arm64 machine)
Contributor guide
Assessment
This issue has not been assessed yet.