From 949697af9647afb22171099cfb9618cf78ee9ca2 Mon Sep 17 00:00:00 2001 From: Scott Andrews Date: Mon, 9 Nov 2026 19:07:46 +0000 Subject: [PATCH] Fix dev container Signed-off-by: Scott Andrews --- .devcontainer/devcontainer-lock.json | 10 ++++++++++ .devcontainer/devcontainer.json | 28 ++++++---------------------- .devcontainer/docker-compose.yml | 14 ++++++++++++-- .devcontainer/init.sh | 14 ++++++++++++++ .github/dependabot.yml | 4 ---- 5 files changed, 42 insertions(+), 28 deletions(-) create mode 100755 .devcontainer/init.sh diff --git a/.devcontainer/devcontainer-lock.json b/.devcontainer/devcontainer-lock.json index de51286..854ecb5 100644 --- a/.devcontainer/devcontainer-lock.json +++ b/.devcontainer/devcontainer-lock.json @@ -1,5 +1,15 @@ { "features": { + "ghcr.io/devcontainers/features/common-utils:2": { + "version": "2.7.1", + "resolved": "ghcr.io/devcontainers/features/common-utils@sha256:e76a6a8a35d1ad824daad1540725e0ec9f8ed2dc00d2850e990a9830013c7d08", + "integrity": "sha256:e76a6a8a35d1ad824daad1540725e0ec9f8ed2dc00d2850e990a9830013c7d08" + }, + "ghcr.io/devcontainers/features/docker-in-docker:4": { + "version": "4.1.3", + "resolved": "ghcr.io/devcontainers/features/docker-in-docker@sha256:fae40f3c8be5a7c3b0db344c1d30341bc2c91ba38d1d5b14cd2ad72e6d65d084", + "integrity": "sha256:fae40f3c8be5a7c3b0db344c1d30341bc2c91ba38d1d5b14cd2ad72e6d65d084" + }, "ghcr.io/devcontainers/features/github-cli:1": { "version": "1.1.3", "resolved": "ghcr.io/devcontainers/features/github-cli@sha256:bd7ab48a832228f633239277552c30b353867fef2e5b037e064b4e64f0b843f2", diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index ff3bbba..c877d7b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,25 +6,16 @@ "dockerComposeFile": "docker-compose.yml", "service": "devcontainer", "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", - // Use 'mounts' to make the cargo cache persistent in a Docker Volume. - "mounts": [ - { - "source": "devcontainer-cargo-cache-${devcontainerId}", - "target": "/usr/local/cargo", - "type": "volume" - }, - { - "source": "devcontainer-rustup-cache-${devcontainerId}", - "target": "/usr/local/rustup", - "type": "volume" - } - ], // Features to add to the dev container. More info: https://containers.dev/features. "features": { + "ghcr.io/devcontainers/features/common-utils:2": {}, + "ghcr.io/devcontainers/features/docker-in-docker:4": { + "moby": false + }, "ghcr.io/devcontainers/features/github-cli:1": {} }, // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "./scripts/init-devcontainer.sh", + "postCreateCommand": "./.devcontainer/init.sh", // Configure tool-specific properties. "customizations": { // Configure properties specific to VS Code. @@ -35,15 +26,8 @@ }, "extensions": [ "bytecodealliance.wit-idl", - "github.vscode-github-actions", - "ms-azuretools.vscode-containers", - "rust-lang.rust-analyzer", - "streetsidesoftware.code-spell-checker", - "tamasfe.even-better-toml", - "vadimcn.vscode-lldb" + "tamasfe.even-better-toml" ] } } - // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" } \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 91c0c43..2d0c66a 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -1,9 +1,11 @@ -version: '3.8' +name: componentized-valkey services: devcontainer: image: mcr.microsoft.com/devcontainers/rust volumes: - - ../..:/workspaces:cached + - ..:/workspaces/valkey + - devcontainer-cargo-cache:/usr/local/cargo:volume + - devcontainer-rustup-cache:/usr/local/rustup:volume command: sleep infinity network_mode: service:valkey depends_on: @@ -12,3 +14,11 @@ services: valkey: image: valkey/valkey:9 restart: unless-stopped + +volumes: + devcontainer-cargo-cache: + external: true + name: devcontainer-cargo-cache + devcontainer-rustup-cache: + external: true + name: devcontainer-rustup-cache diff --git a/.devcontainer/init.sh b/.devcontainer/init.sh new file mode 100755 index 0000000..e8eb4d8 --- /dev/null +++ b/.devcontainer/init.sh @@ -0,0 +1,14 @@ +!/usr/bin/env bash + +# Setup script run once for new devcontainers to init the environment. + +set -euo pipefail + +curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash + +echo "PATH=\"\$(make -s tools-path):\${PATH}\"" >> ~/.zshrc +echo "PATH=\"\$(make -s tools-path):\${PATH}\"" >> ~/.bashrc + +make tools wit + +cargo check diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7a5764d..12d6e20 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,9 +1,5 @@ version: 2 updates: - - package-ecosystem: github-actions - directory: "/" - schedule: - interval: daily - package-ecosystem: cargo directory: "/" schedule: