Closed D1no closed 1 year ago
Hello 👋
I agree it would be great for us to figure out a way to convey architecture compatibility for 'features', before installation. Today, we have added the install message you shared ((!) Architecture aarch64 unsupported)
to the scripts that do not yet support multiple architectures.
The homebrew script is currently community-supported. It was originally contributed by @andreiborisov (per our contribution guide), and we encourage anyone in the community to add feature gaps they identify.
Here is an example of a 'feature' script that is architecture-aware: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/rust-debian.sh#L130-L142
Seems like the support is possible, but we would need to provide Ruby for it ourselves and it's not officially supported: https://docs.brew.sh/Homebrew-on-Linux#arm
If someone up the task, I would gladly review the PR and help with the testing.
P.S. That being said, I'm not sure there are enough pre-built bottles for aarch64, if there are only few, you probably wouldn't want to use it anyway, since it would take ages to install everything by compiling.
I think being very clear in the UI what can run where (like docker desktop does in their UI on containers; highlighting the architecture) would be a big benefit. Including a zero config option that remote dev containers executes under rosetta; starting docker with the appropriate flag by default on m1 macs.
Why? Basically, I‘m looking for a process where the most junior engineer just needs two things:
Than clone a repository and as „Open in Container“ and the rest just works (be it slower due to compat mode)
During container creation (again VSCode UI), flagging what can run where would help devs clicking together environments more consciously. Avoiding frustration when “sharing their work”.
Regarding working up-stream on ensuring that things like homebrew run well is a job for homebrew & co. But signaling
„Hey, if you add this, the dev container will not run on none x86 machines like raspberry pi (i.e. I do none-profit teaching sometimes) and in compatibility mode on m1 macs“
…would be a huge win in usability and trust. Love the concept of devcontainers. Thank you for building this.
Asking to close this, as we migrated Homebrew to the new feature spec.
@D1no please, try the new feature: https://github.com/meaningful-ooo/devcontainer-features/tree/main/src/homebrew and report again if the issue persists.
Same issue here with the proposed solution :( using this image python:0-3.10-bullseye which has arm64 support
"features": {
"docker-in-docker": "latest",
"kubectl-helm-minikube": "1.21",
"git": "latest",
// "homebrew": "latest",
"ghcr.io/meaningful-ooo/devcontainer-features/homebrew:2": {}
}
}
> [dev_containers_target_stage 4/6] RUN cd /tmp/build-features/homebrew_4 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh:
[2023-02-08T21:26:02.236Z] #0 0.394 ===========================================================================
#0 0.394 Feature : Homebrew
#0 0.394 Description : Installs Homebrew
#0 0.394 Id : ghcr.io/meaningful-ooo/devcontainer-features/homebrew
#0 0.394 Version : 2.0.3
#0 0.394 Documentation : https://github.com/meaningful-ooo/devcontainer-features/tree/main/src/homebrew
#0 0.394 Options :
#0 0.394 SHALLOWCLONE="false"
#0 0.394 ===========================================================================
#0 0.401 (!) Architecture aarch64 unsupported
#0 0.403 ERROR: Feature "Homebrew" (ghcr.io/meaningful-ooo/devcontainer-features/homebrew) failed to install! Look at the documentation at https://github.com/meaningful-ooo/devcontainer-features/tree/main/src/homebrew for help troubleshooting this error.
------
I just looked at your install.sh https://github.com/meaningful-ooo/devcontainer-features/blob/b83e390f39f2f25094a0707d4c8a6c04ce6d5c10/src/homebrew/install.sh#L8 I think we would have to add aarch64, which is the arch that is showing up in the error
I'm trying to get our organization onto dev containers / code spaces on github to make onboarding quicker. I've set-up a codespace on github, running it locally on my Mac M1 the creation breaks by simply adding:
leading to
Question
Thank you!
Specs
I have also tried disabling / enabeling buildkit, which lead to weird situations like this here (root): https://github.com/microsoft/vscode-dev-containers/issues/1479
Version 12.4
homebrew
Steps to Reproduce:
Remote Containers: Open Folder in Container
homebrew
build failshttps://user-images.githubusercontent.com/2397125/172005207-09124b51-a6b6-434c-9dc7-7a5b9cf0a098.mp4
Log of Fail-State