microsoft / vscode-dev-containers

NOTE: Most of the contents of this repository have been migrated to the new devcontainers GitHub org (https://github.com/devcontainers). See https://github.com/devcontainers/template-starter and https://github.com/devcontainers/feature-starter for information on creating your own!
https://aka.ms/vscode-remote
MIT License
4.72k stars 1.4k forks source link

Adding homebrew breaks dev container #1492

Closed D1no closed 1 year ago

D1no commented 2 years ago

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

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

Steps to Reproduce:

  1. Create an empty folder
  2. Open it in VS Code
  3. Run Remote Containers: Open Folder in Container
  4. 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
joshspicer commented 2 years 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

andreiborisov commented 2 years ago

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.

D1no commented 2 years ago

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.

andreiborisov commented 1 year ago

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.

devjerry0 commented 1 year ago

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