cli
cli copied to clipboard
Distribute arm64 binaries through apt for docker on apple silicon
Please provide details on the following items. Failure to do so may result in deletion of your feature request.
What's the user value of this feature request? I use docker to build images that rely on cf-cli. I test-run these images on my apple silicon laptop. I was surprised to find that the apt distributed binaries for cf8-cli do not include the arm64 architecture, even though these binaries exist in the Github releases and are distributed through homebrew.
This is within a docker image based on debian:buster
.
# curl --silent https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | apt-key add -
OK
# echo "deb https://packages.cloudfoundry.org/debian stable main" > /etc/apt/sources.list.d/cfcli.list
# apt-get update
Hit:1 http://deb.debian.org/debian buster InRelease
Hit:2 http://deb.debian.org/debian-security buster/updates InRelease
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Hit:4 https://deb.nodesource.com/node_16.x buster InRelease
Get:5 https://cf-cli-debian-repo.s3.amazonaws.com stable InRelease [2679 B]
Fetched 2679 B in 2s (1758 B/s)
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-arm64/Packages' as repository 'https://packages.cloudfoundry.org/debian stable InRelease' doesn't support architecture 'arm64'
There are known workarounds for this, but they are very slow and since the binaries are already being built and distributed it would be sensible to make them available here as well in my opinion.
Who is the functionality for? Apple silicon users running debian, e.g., through docker.
How often will this functionality be used by the user? Once a week for myself. It's not high-frequency.
Who else is affected by the change? No one.
Is your feature request related to a problem? Please describe. Yes, see first paragraph.
Describe the solution you'd like
I should be able to apt install cf8-cli
in docker running on Apple silicon, without noticing that the architecture is different.
Since the last year, our release pipelines are below:
- https://github.com/cloudfoundry/cli/blob/main/.github/workflows/build-sign-upload.yml
- https://github.com/cloudfoundry/cli/blob/main/.github/workflows/update-repos.yml
They execute in a private repo for security reasons, but all code is above. We welcome contributions in this area and are happy to support PRs.
second to this. surprised to see arm64 packages are not included.
Issue was resolved with #2495 thanks