The dev container definition still points at the retired microsoft/vscode-dev-containers generation of images and metadata. Facts read directly from the files in this repository:
.devcontainer/Dockerfile
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/cpp/.devcontainer/base.Dockerfile
# [Choice] Debian / Ubuntu version (...): debian-11, debian-10, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04
ARG VARIANT="bullseye"
FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-${VARIANT}
.devcontainer/devcontainer.json
Four observations:
- Both files cite
microsoft/vscode-dev-containers at tag v0.245.2. That repository has been superseded by devcontainers/templates and devcontainers/images, and the mcr.microsoft.com/vscode/devcontainers/* image namespace has been superseded by mcr.microsoft.com/devcontainers/*.
- The default
ARG VARIANT="bullseye" in the Dockerfile is not one of the values its own [Choice] comment lists, and is overridden by devcontainer.json in any case, so the two files describe different defaults.
- The advertised
VARIANT choices include debian-10 and ubuntu-18.04, both of which are past end of life.
ms-vscode.cmake-tools is installed, but this template contains no CMakeLists.txt and builds through make. The extension is inherited by every project generated from the template without being used by it.
Suggested resolution: move to mcr.microsoft.com/devcontainers/cpp, refresh the [Choice] list and the default VARIANT so the two files agree, update the two documentation links, and drop ms-vscode.cmake-tools unless CMake support is intended.
Note on validation: none of this can be verified by this repository's build anchor, which compiles src/*.cpp and runs the result. Confirming a dev container change requires actually rebuilding and opening the container, so this should not be merged on a green make alone.
This issue was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).
drafted by Claude on behalf of Daniel Stephenson
The dev container definition still points at the retired
microsoft/vscode-dev-containersgeneration of images and metadata. Facts read directly from the files in this repository:.devcontainer/Dockerfile.devcontainer/devcontainer.jsonFour observations:
microsoft/vscode-dev-containersat tagv0.245.2. That repository has been superseded bydevcontainers/templatesanddevcontainers/images, and themcr.microsoft.com/vscode/devcontainers/*image namespace has been superseded bymcr.microsoft.com/devcontainers/*.ARG VARIANT="bullseye"in theDockerfileis not one of the values its own[Choice]comment lists, and is overridden bydevcontainer.jsonin any case, so the two files describe different defaults.VARIANTchoices includedebian-10andubuntu-18.04, both of which are past end of life.ms-vscode.cmake-toolsis installed, but this template contains noCMakeLists.txtand builds throughmake. The extension is inherited by every project generated from the template without being used by it.Suggested resolution: move to
mcr.microsoft.com/devcontainers/cpp, refresh the[Choice]list and the defaultVARIANTso the two files agree, update the two documentation links, and dropms-vscode.cmake-toolsunless CMake support is intended.Note on validation: none of this can be verified by this repository's build anchor, which compiles
src/*.cppand runs the result. Confirming a dev container change requires actually rebuilding and opening the container, so this should not be merged on a greenmakealone.This issue was drafted during a Gardener session (https://github.com/Stephenson-Software/gardener).
drafted by Claude on behalf of Daniel Stephenson