Request
Would it be possible to publish a linux/arm64 variant of the 3dgi/roofer Docker image alongside the existing linux/amd64 one, so the multi-arch manifest covers both?
Why
The v1.0.0 release already ships a native arm64 binary as roofer-macOS-arm64-v1.0.0.tar.gz, so the build evidently works on arm64. But the Docker tag is amd64-only, which means anyone consuming roofer through the official image on Apple Silicon (or arm64 Linux cloud instances like AWS Graviton, Hetzner CAX, etc.) has to run it under emulation. In our case we use a multi-stage Dockerfile with COPY --from=3dgi/roofer:v1.0.0 ... to grab the binary into a downstream image, and we currently have to pin the whole stage to --platform=linux/amd64, which makes everything else in that stage emulated too. Native arm64 would be substantially faster for both local dev and arm64-based deployments.
What would change
If your CI builds for arm64 Linux as well (looks like you already produce arm64 binaries for macOS, so the arm64 toolchain is presumably already in your pipeline), pushing both architectures under the same tag via docker buildx build --platform linux/amd64,linux/arm64 --push would give a single multi-arch manifest. Existing amd64 consumers would be unaffected.
Happy to test arm64 builds against our pipeline if a release candidate is published.
Thanks for the work on roofer, and congrats on shipping v1.0.0.
Request
Would it be possible to publish a
linux/arm64variant of the3dgi/rooferDocker image alongside the existinglinux/amd64one, so the multi-arch manifest covers both?Why
The v1.0.0 release already ships a native arm64 binary as
roofer-macOS-arm64-v1.0.0.tar.gz, so the build evidently works on arm64. But the Docker tag is amd64-only, which means anyone consuming roofer through the official image on Apple Silicon (or arm64 Linux cloud instances like AWS Graviton, Hetzner CAX, etc.) has to run it under emulation. In our case we use a multi-stage Dockerfile withCOPY --from=3dgi/roofer:v1.0.0 ...to grab the binary into a downstream image, and we currently have to pin the whole stage to--platform=linux/amd64, which makes everything else in that stage emulated too. Native arm64 would be substantially faster for both local dev and arm64-based deployments.What would change
If your CI builds for arm64 Linux as well (looks like you already produce arm64 binaries for macOS, so the arm64 toolchain is presumably already in your pipeline), pushing both architectures under the same tag via
docker buildx build --platform linux/amd64,linux/arm64 --pushwould give a single multi-arch manifest. Existing amd64 consumers would be unaffected.Happy to test arm64 builds against our pipeline if a release candidate is published.
Thanks for the work on roofer, and congrats on shipping v1.0.0.