vscode-dev-containers
vscode-dev-containers copied to clipboard
Adding homebrew breaks dev container
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:
{
// (...)
"features": {
"homebrew": "latest", // <----------------------------------- here
"kubectl-helm-minikube": "1.23"
}
}
leading to
[2022-06-04T13:58:16.932Z] (*) Script: homebrew-debian.sh automatic true false
[2022-06-04T13:58:16.935Z] (!) Architecture aarch64 unsupported
Question
- Is there a way around this so devs can use homebrew inside their dev environment?
- Since using mac and the new m1 machines is pretty dominant, is there a way to clearly state which features would only work on code-spaces, specific architectures?
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
- VSCode Version:
1.67.2 (Universal)
Commit: c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5
- Local OS Version: macOS Monterey
Version 12.4
- Local chip architecture: Apple Silicon
- Reproduces in: Remote - Containers
- Name of Dev Container Definition with Issue: Feature
homebrew
Steps to Reproduce:
- Create an empty folder
- Open it in VS Code
- Run
Remote Containers: Open Folder in Container
- When adding
homebrew
build fails
https://user-images.githubusercontent.com/2397125/172005207-09124b51-a6b6-434c-9dc7-7a5b9cf0a098.mp4
Log of Fail-State
[2022-06-04T13:57:40.490Z] Remote-Containers 0.234.0 in VS Code 1.67.2 (c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5).
[2022-06-04T13:57:40.490Z] Start: Resolving Remote
[2022-06-04T13:57:40.495Z] Setting up container for folder or workspace: /Users/worker/development/twinwin_workspace/docker_from_docker_test
[2022-06-04T13:57:40.501Z] Start: Check Docker is running
[2022-06-04T13:57:40.501Z] Start: Run: docker version --format {{.Server.APIVersion}}
[2022-06-04T13:57:40.588Z] Stop (87 ms): Run: docker version --format {{.Server.APIVersion}}
[2022-06-04T13:57:40.588Z] Server API version: 1.41
[2022-06-04T13:57:40.588Z] Stop (87 ms): Check Docker is running
[2022-06-04T13:57:40.589Z] Start: Run: docker volume ls -q
[2022-06-04T13:57:40.653Z] Stop (64 ms): Run: docker volume ls -q
[2022-06-04T13:57:40.659Z] Start: Run: docker inspect --type container 416c97a522a4569864783308c8f442e5bce34f9ab30aae33a8d3d78d154a047b
[2022-06-04T13:57:40.730Z] Stop (71 ms): Run: docker inspect --type container 416c97a522a4569864783308c8f442e5bce34f9ab30aae33a8d3d78d154a047b
[2022-06-04T13:57:40.730Z] Start: Run: docker ps -q -a --filter label=vsch.local.folder=/Users/worker/development/twinwin_workspace/docker_from_docker_test --filter label=vsch.quality=stable
[2022-06-04T13:57:40.805Z] Stop (75 ms): Run: docker ps -q -a --filter label=vsch.local.folder=/Users/worker/development/twinwin_workspace/docker_from_docker_test --filter label=vsch.quality=stable
[2022-06-04T13:57:40.806Z] Start: Run: /Applications/Visual Studio Code.app/Contents/MacOS/Electron /Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/worker/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-data-folder .vscode-server/data/Machine --container-system-data-folder /var/vscode-server --workspace-folder /Users/worker/development/twinwin_workspace/docker_from_docker_test --workspace-mount-consistency cached --id-label vsch.local.folder=/Users/worker/development/twinwin_workspace/docker_from_docker_test --id-label vsch.quality=stable --log-level debug --log-format json --config /Users/worker/development/twinwin_workspace/docker_from_docker_test/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[2022-06-04T13:57:40.898Z] remote-containers 0.234.0.
[2022-06-04T13:57:40.898Z] Start: Resolving Remote
[2022-06-04T13:57:40.899Z] Start: Run: git rev-parse --show-cdup
[2022-06-04T13:57:40.906Z] Stop (7 ms): Run: git rev-parse --show-cdup
[2022-06-04T13:57:40.907Z] Start: Run: docker ps -q -a --filter label=vsch.local.folder=/Users/worker/development/twinwin_workspace/docker_from_docker_test --filter label=vsch.quality=stable
[2022-06-04T13:57:40.981Z] Stop (74 ms): Run: docker ps -q -a --filter label=vsch.local.folder=/Users/worker/development/twinwin_workspace/docker_from_docker_test --filter label=vsch.quality=stable
[2022-06-04T13:57:40.982Z] Start: Run: docker build -f /Users/worker/development/twinwin_workspace/docker_from_docker_test/.devcontainer/Dockerfile -t vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5 /Users/worker/development/twinwin_workspace/docker_from_docker_test/.devcontainer
[2022-06-04T13:57:41.157Z] Sending build context to Docker daemon 42.5kB
[2022-06-04T13:57:41.200Z] Step 1/14 : FROM mcr.microsoft.com/vscode/devcontainers/base:0-bullseye
---> 0281bee16158
Step 2/14 : ARG INSTALL_ZSH="true"
[2022-06-04T13:57:41.201Z] ---> Using cache
---> ec32c22c202c
Step 3/14 : ARG UPGRADE_PACKAGES="false"
[2022-06-04T13:57:41.201Z] ---> Using cache
---> 9732f31c9244
Step 4/14 : ARG ENABLE_NONROOT_DOCKER="true"
---> Using cache
---> 31aeb002aef3
Step 5/14 : ARG USE_MOBY="true"
[2022-06-04T13:57:41.201Z] ---> Using cache
---> 5c628e8fc7a7
Step 6/14 : ARG CLI_VERSION="latest"
[2022-06-04T13:57:41.201Z]
[2022-06-04T13:57:41.201Z] ---> Using cache
---> 65d7b3d88ab1
Step 7/14 : ENV DOCKER_BUILDKIT=1
---> Using cache
---> fabb24ebdfff
Step 8/14 : ARG USERNAME=automatic
[2022-06-04T13:57:41.201Z] ---> Using cache
---> 39bceba9010f
Step 9/14 : ARG USER_UID=1000
[2022-06-04T13:57:41.202Z] ---> Using cache
---> 56559f96b555
Step 10/14 : ARG USER_GID=$USER_UID
---> Using cache
---> 74188aabc5f9
Step 11/14 : COPY library-scripts/*.sh /tmp/library-scripts/
[2022-06-04T13:57:41.202Z] ---> Using cache
---> 91665a223199
[2022-06-04T13:57:41.202Z] Step 12/14 : RUN apt-get update && /bin/bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" "true" "true" && /bin/bash /tmp/library-scripts/docker-debian.sh "${ENABLE_NONROOT_DOCKER}" "/var/run/docker-host.sock" "/var/run/docker.sock" "${USERNAME}" "${USE_MOBY}" "${CLI_VERSION}" && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts/
[2022-06-04T13:57:41.202Z] ---> Using cache
---> 223326901b6c
Step 13/14 : ENTRYPOINT [ "/usr/local/share/docker-init.sh" ]
[2022-06-04T13:57:41.202Z] ---> Using cache
---> 91314cc56172
Step 14/14 : CMD [ "sleep", "infinity" ]
[2022-06-04T13:57:41.202Z] ---> Using cache
---> 8d0035aec51d
[2022-06-04T13:57:41.202Z] Successfully built 8d0035aec51d
[2022-06-04T13:57:41.204Z] Successfully tagged vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5:latest
[2022-06-04T13:57:41.259Z]
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
[2022-06-04T13:57:41.263Z] Stop (281 ms): Run: docker build -f /Users/worker/development/twinwin_workspace/docker_from_docker_test/.devcontainer/Dockerfile -t vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5 /Users/worker/development/twinwin_workspace/docker_from_docker_test/.devcontainer
[2022-06-04T13:57:41.267Z] Preparing to parse declared features and fetch remote features.
[2022-06-04T13:57:41.267Z] Detected local feature set. Continuing...
[2022-06-04T13:57:41.267Z] Detected local feature set. Continuing...
[2022-06-04T13:57:41.267Z] Start: Run: docker inspect --type image vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5
[2022-06-04T13:57:41.324Z] Stop (57 ms): Run: docker inspect --type image vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5
[2022-06-04T13:57:41.325Z] local container features stored at: /Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/node_modules/vscode-dev-containers/container-features
[2022-06-04T13:57:41.326Z] Start: Run: tar --no-same-owner -x -f -
[2022-06-04T13:57:41.335Z] Stop (9 ms): Run: tar --no-same-owner -x -f -
[2022-06-04T13:57:41.335Z] Start: Run: docker build -t vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5-features --build-arg BASE_IMAGE=vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5 --build-arg IMAGE_USER=root /var/folders/xd/vr043n690wn290nhxq9s57z00000gn/T/vsch/container-features/0.234.0-1654351061263
[2022-06-04T13:57:41.515Z] Sending build context to Docker daemon 294.9kB
[2022-06-04T13:57:41.540Z] Step 1/9 : ARG BASE_IMAGE=mcr.microsoft.com/vscode/devcontainers/base:buster
Step 2/9 : FROM $BASE_IMAGE
[2022-06-04T13:57:41.540Z] ---> 8d0035aec51d
Step 3/9 : USER root
[2022-06-04T13:57:41.540Z] ---> Using cache
---> 30def6a4b210
Step 4/9 : COPY . /tmp/build-features/
[2022-06-04T13:57:41.612Z] ---> 202630163457
Step 5/9 : RUN cd /tmp/build-features/local-cache && chmod +x ./install.sh && ./install.sh
[2022-06-04T13:57:41.619Z] ---> Running in 2e0cb1bc9706
[2022-06-04T13:57:41.765Z] (*) Script: kubectl-helm-debian.sh 1.23 latest latest
[2022-06-04T13:57:41.774Z] Running apt-get update...
[2022-06-04T13:57:41.852Z] Get:1 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB]
Get:2 http://deb.debian.org/debian bullseye InRelease [116 kB]
[2022-06-04T13:57:41.899Z] Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39.4 kB]
[2022-06-04T13:57:41.933Z] Get:4 https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye InRelease [10.5 kB]
[2022-06-04T13:57:41.938Z] Get:5 http://security.debian.org/debian-security bullseye-security/main arm64 Packages [152 kB]
[2022-06-04T13:57:41.999Z] Get:6 http://deb.debian.org/debian bullseye/main arm64 Packages [8070 kB]
[2022-06-04T13:57:42.106Z] Get:7 https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod bullseye/main arm64 Packages [11.7 kB]
[2022-06-04T13:57:43.526Z] Get:8 http://deb.debian.org/debian bullseye/non-free arm64 Packages [69.6 kB]
[2022-06-04T13:57:43.538Z] Get:9 http://deb.debian.org/debian bullseye/contrib arm64 Packages [40.8 kB]
[2022-06-04T13:57:43.545Z] Get:10 http://deb.debian.org/debian bullseye-updates/main arm64 Packages [2600 B]
[2022-06-04T13:57:44.170Z] Fetched 8557 kB in 2s (3597 kB/s)
Reading package lists...
[2022-06-04T13:57:44.443Z]
[2022-06-04T13:57:44.466Z] Reading package lists...
[2022-06-04T13:57:44.734Z]
[2022-06-04T13:57:44.745Z] Building dependency tree...
[2022-06-04T13:57:44.823Z]
Reading state information...
[2022-06-04T13:57:44.901Z] ca-certificates is already the newest version (20210119).
coreutils is already the newest version (8.32-4).
coreutils set to manually installed.
curl is already the newest version (7.74.0-1.3+deb11u1).
The following additional packages will be installed:
gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server
gpgconf gpgsm gpgv
[2022-06-04T13:57:44.902Z] Suggested packages:
dbus-user-session libpam-systemd pinentry-gnome3 tor parcimonie xloadimage
scdaemon
[2022-06-04T13:57:44.937Z] The following NEW packages will be installed:
[2022-06-04T13:57:44.937Z] bash-completion
[2022-06-04T13:57:44.937Z] The following packages will be upgraded:
dirmngr gnupg gnupg-l10n gnupg-utils gnupg2 gpg gpg-agent gpg-wks-client
[2022-06-04T13:57:44.938Z] gpg-wks-server gpgconf gpgsm gpgv
[2022-06-04T13:57:44.986Z] 12 upgraded, 1 newly installed, 0 to remove and 16 not upgraded.
Need to get 8524 kB of archives.
After this operation, 1560 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main arm64 gpgv arm64 2.2.27-2+deb11u1 [610 kB]
[2022-06-04T13:57:45.124Z] Get:2 http://deb.debian.org/debian bullseye/main arm64 bash-completion all 1:2.11-2 [234 kB]
[2022-06-04T13:57:45.166Z] Get:3 http://deb.debian.org/debian bullseye/main arm64 gpgsm arm64 2.2.27-2+deb11u1 [627 kB]
[2022-06-04T13:57:45.351Z] Get:4 http://deb.debian.org/debian bullseye/main arm64 gpg-wks-client arm64 2.2.27-2+deb11u1 [517 kB]
[2022-06-04T13:57:45.391Z] Get:5 http://deb.debian.org/debian bullseye/main arm64 gpg-wks-server arm64 2.2.27-2+deb11u1 [510 kB]
[2022-06-04T13:57:45.455Z] Get:6 http://deb.debian.org/debian bullseye/main arm64 gpg arm64 2.2.27-2+deb11u1 [884 kB]
[2022-06-04T13:57:45.671Z] Get:7 http://deb.debian.org/debian bullseye/main arm64 gnupg-utils arm64 2.2.27-2+deb11u1 [864 kB]
[2022-06-04T13:57:45.864Z] Get:8 http://deb.debian.org/debian bullseye/main arm64 gnupg-l10n all 2.2.27-2+deb11u1 [1085 kB]
[2022-06-04T13:57:46.086Z] Get:9 http://deb.debian.org/debian bullseye/main arm64 dirmngr arm64 2.2.27-2+deb11u1 [743 kB]
[2022-06-04T13:57:46.223Z] Get:10 http://deb.debian.org/debian bullseye/main arm64 gnupg all 2.2.27-2+deb11u1 [825 kB]
[2022-06-04T13:57:46.370Z] Get:11 http://deb.debian.org/debian bullseye/main arm64 gpg-agent arm64 2.2.27-2+deb11u1 [651 kB]
[2022-06-04T13:57:46.484Z] Get:12 http://deb.debian.org/debian bullseye/main arm64 gpgconf arm64 2.2.27-2+deb11u1 [540 kB]
[2022-06-04T13:57:46.580Z] Get:13 http://deb.debian.org/debian bullseye/main arm64 gnupg2 all 2.2.27-2+deb11u1 [434 kB]
[2022-06-04T13:57:47.050Z] Fetched 8524 kB in 2s (4970 kB/s)
[2022-06-04T13:57:47.057Z] (Reading database ...
[2022-06-04T13:57:47.059Z] (Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
[2022-06-04T13:57:47.060Z] (Reading database ... 65%
[2022-06-04T13:57:47.061Z] (Reading database ... 70%
[2022-06-04T13:57:47.061Z] (Reading database ... 75%
[2022-06-04T13:57:47.062Z] (Reading database ... 80%
[2022-06-04T13:57:47.062Z] (Reading database ... 85%
[2022-06-04T13:57:47.063Z] (Reading database ... 90%
[2022-06-04T13:57:47.064Z] (Reading database ... 95%
[2022-06-04T13:57:47.065Z] (Reading database ... 100%
(Reading database ... 24394 files and directories currently installed.)
[2022-06-04T13:57:47.066Z] Preparing to unpack .../gpgv_2.2.27-2+deb11u1_arm64.deb ...
[2022-06-04T13:57:47.068Z] Unpacking gpgv (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.102Z] Setting up gpgv (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:47.116Z] Selecting previously unselected package bash-completion.
(Reading database ...
[2022-06-04T13:57:47.117Z] (Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
[2022-06-04T13:57:47.118Z] (Reading database ... 65%
[2022-06-04T13:57:47.118Z] (Reading database ... 70%
[2022-06-04T13:57:47.119Z] (Reading database ... 75%
[2022-06-04T13:57:47.120Z] (Reading database ... 80%
[2022-06-04T13:57:47.120Z] (Reading database ... 85%
[2022-06-04T13:57:47.121Z] (Reading database ... 90%
[2022-06-04T13:57:47.122Z] (Reading database ... 95%
[2022-06-04T13:57:47.123Z] (Reading database ... 100%
(Reading database ... 24394 files and directories currently installed.)
[2022-06-04T13:57:47.124Z] Preparing to unpack .../00-bash-completion_1%3a2.11-2_all.deb ...
[2022-06-04T13:57:47.419Z] Unpacking bash-completion (1:2.11-2) ...
[2022-06-04T13:57:47.478Z] Preparing to unpack .../01-gpgsm_2.2.27-2+deb11u1_arm64.deb ...
[2022-06-04T13:57:47.480Z] Unpacking gpgsm (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.507Z] Preparing to unpack .../02-gpg-wks-client_2.2.27-2+deb11u1_arm64.deb ...
[2022-06-04T13:57:47.509Z] Unpacking gpg-wks-client (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.532Z] Preparing to unpack .../03-gpg-wks-server_2.2.27-2+deb11u1_arm64.deb ...
[2022-06-04T13:57:47.534Z] Unpacking gpg-wks-server (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.558Z] Preparing to unpack .../04-gpg_2.2.27-2+deb11u1_arm64.deb ...
Unpacking gpg (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.598Z] Preparing to unpack .../05-gnupg-utils_2.2.27-2+deb11u1_arm64.deb ...
[2022-06-04T13:57:47.600Z] Unpacking gnupg-utils (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.652Z] Preparing to unpack .../06-gnupg-l10n_2.2.27-2+deb11u1_all.deb ...
[2022-06-04T13:57:47.654Z] Unpacking gnupg-l10n (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.739Z] Preparing to unpack .../07-dirmngr_2.2.27-2+deb11u1_arm64.deb ...
[2022-06-04T13:57:47.754Z] Unpacking dirmngr (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.799Z] Preparing to unpack .../08-gnupg_2.2.27-2+deb11u1_all.deb ...
[2022-06-04T13:57:47.801Z] Unpacking gnupg (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.840Z] Preparing to unpack .../09-gpg-agent_2.2.27-2+deb11u1_arm64.deb ...
[2022-06-04T13:57:47.842Z] Unpacking gpg-agent (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.879Z] Preparing to unpack .../10-gpgconf_2.2.27-2+deb11u1_arm64.deb ...
[2022-06-04T13:57:47.881Z] Unpacking gpgconf (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.907Z] Preparing to unpack .../11-gnupg2_2.2.27-2+deb11u1_all.deb ...
[2022-06-04T13:57:47.909Z] Unpacking gnupg2 (2.2.27-2+deb11u1) over (2.2.27-2) ...
[2022-06-04T13:57:47.929Z] Setting up gnupg-l10n (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:47.933Z] Setting up bash-completion (1:2.11-2) ...
[2022-06-04T13:57:48.242Z] Setting up gpgconf (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.244Z] Setting up gpg (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.247Z] Setting up gnupg-utils (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.249Z] Setting up gpg-agent (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.471Z] Setting up gpgsm (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.473Z] Setting up dirmngr (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.537Z] Setting up gpg-wks-server (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.540Z] Setting up gpg-wks-client (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.543Z] Setting up gnupg (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.544Z] Setting up gnupg2 (2.2.27-2+deb11u1) ...
[2022-06-04T13:57:48.547Z] Processing triggers for man-db (2.9.4-2) ...
[2022-06-04T13:57:48.682Z] Downloading kubectl...
[2022-06-04T13:57:49.263Z] KUBECTL_VERSION=1.23.7
[2022-06-04T13:57:58.693Z] /usr/local/bin/kubectl: OK
[2022-06-04T13:57:58.733Z] Downloading Helm...
[2022-06-04T13:57:59.269Z] HELM_VERSION=3.9.0
[2022-06-04T13:58:02.511Z] HELM_GPG_KEYS_URI=https://raw.githubusercontent.com/helm/helm/main/KEYS
[2022-06-04T13:58:02.517Z] GPG_KEY_SERVERS=keyserver hkp://keyserver.ubuntu.com:80
keyserver hkps://keys.openpgp.org
keyserver hkp://keyserver.pgp.com
[2022-06-04T13:58:03.144Z] /tmp/helm/helm-v3.9.0-linux-arm64.tar.gz: OK
[2022-06-04T13:58:03.409Z] Downloading minikube...
[2022-06-04T13:58:16.929Z] /usr/local/bin/minikube: OK
[2022-06-04T13:58:16.931Z]
Done!
[2022-06-04T13:58:16.932Z] (*) Script: homebrew-debian.sh automatic true false
[2022-06-04T13:58:16.935Z] (!) Architecture aarch64 unsupported
[2022-06-04T13:58:17.075Z] The command '/bin/sh -c cd /tmp/build-features/local-cache && chmod +x ./install.sh && ./install.sh' returned a non-zero code: 1
[2022-06-04T13:58:17.095Z] Stop (35760 ms): Run: docker build -t vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5-features --build-arg BASE_IMAGE=vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5 --build-arg IMAGE_USER=root /var/folders/xd/vr043n690wn290nhxq9s57z00000gn/T/vsch/container-features/0.234.0-1654351061263
[2022-06-04T13:58:17.098Z] Error: Command failed: docker build -t vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5-features --build-arg BASE_IMAGE=vsc-docker_from_docker_test-3c44298c373e4c326e12a70d1cfeadb5 --build-arg IMAGE_USER=root /var/folders/xd/vr043n690wn290nhxq9s57z00000gn/T/vsch/container-features/0.234.0-1654351061263
[2022-06-04T13:58:17.098Z] at IR (/Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:221:995)
[2022-06-04T13:58:17.098Z] at zy (/Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:221:933)
[2022-06-04T13:58:17.098Z] at processTicksAndRejections (node:internal/process/task_queues:96:5)
[2022-06-04T13:58:17.099Z] at async $R (/Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:226:2007)
[2022-06-04T13:58:17.100Z] at async Zy (/Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:226:3112)
[2022-06-04T13:58:17.100Z] at async BR (/Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:226:12448)
[2022-06-04T13:58:17.100Z] at async qR (/Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js:226:12204)
[2022-06-04T13:58:17.106Z] Stop (36300 ms): Run: /Applications/Visual Studio Code.app/Contents/MacOS/Electron /Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/worker/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-data-folder .vscode-server/data/Machine --container-system-data-folder /var/vscode-server --workspace-folder /Users/worker/development/twinwin_workspace/docker_from_docker_test --workspace-mount-consistency cached --id-label vsch.local.folder=/Users/worker/development/twinwin_workspace/docker_from_docker_test --id-label vsch.quality=stable --log-level debug --log-format json --config /Users/worker/development/twinwin_workspace/docker_from_docker_test/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[2022-06-04T13:58:17.106Z] Exit code 1
[2022-06-04T13:58:17.108Z] Command failed: /Applications/Visual Studio Code.app/Contents/MacOS/Electron /Users/worker/.vscode/extensions/ms-vscode-remote.remote-containers-0.234.0/dist/spec-node/devContainersSpecCLI.js up --user-data-folder /Users/worker/Library/Application Support/Code/User/globalStorage/ms-vscode-remote.remote-containers/data --container-data-folder .vscode-server/data/Machine --container-system-data-folder /var/vscode-server --workspace-folder /Users/worker/development/twinwin_workspace/docker_from_docker_test --workspace-mount-consistency cached --id-label vsch.local.folder=/Users/worker/development/twinwin_workspace/docker_from_docker_test --id-label vsch.quality=stable --log-level debug --log-format json --config /Users/worker/development/twinwin_workspace/docker_from_docker_test/.devcontainer/devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[2022-06-04T13:58:17.108Z] Exit code 1
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:
- VSCode
- Docker Desktop
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