Skip to content

Commit fabd7bb

Browse files
Merge branch 'main' into python_3.14
2 parents 29d5e07 + eea561a commit fabd7bb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+638
-223
lines changed

.github/workflows/test-pr.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ jobs:
6262
baseImage: ubuntu:jammy
6363
- features: oryx
6464
baseImage: mcr.microsoft.com/devcontainers/base:ubuntu
65+
- features: docker-in-docker
66+
baseImage: mcr.microsoft.com/devcontainers/base:debian
67+
- features: docker-outside-of-docker
68+
baseImage: mcr.microsoft.com/devcontainers/base:debian
6569
steps:
6670
- uses: actions/checkout@v4
6771

src/azure-cli/devcontainer-feature.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "azure-cli",
3-
"version": "1.2.7",
3+
"version": "1.2.8",
44
"name": "Azure CLI",
55
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/azure-cli",
66
"description": "Installs the Azure CLI along with needed dependencies. Useful for base Dockerfiles that often are missing required install dependencies like gpg.",

src/azure-cli/install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ AZ_BICEPVERSION=${BICEPVERSION:-latest}
1919
INSTALL_USING_PYTHON=${INSTALLUSINGPYTHON:-false}
2020
MICROSOFT_GPG_KEYS_URI="https://packages.microsoft.com/keys/microsoft.asc"
2121
AZCLI_ARCHIVE_ARCHITECTURES="amd64 arm64"
22-
AZCLI_ARCHIVE_VERSION_CODENAMES="stretch bookworm buster bullseye bionic focal jammy noble"
22+
AZCLI_ARCHIVE_VERSION_CODENAMES="stretch bookworm buster bullseye bionic focal jammy noble trixie"
2323

2424
if [ "$(id -u)" -ne 0 ]; then
2525
echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.'

src/desktop-lite/devcontainer-feature.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "desktop-lite",
3-
"version": "1.2.7",
3+
"version": "1.2.8",
44
"name": "Light-weight Desktop",
55
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/desktop-lite",
66
"description": "Adds a lightweight Fluxbox based desktop to the container that can be accessed using a VNC viewer or the web. GUI-based commands executed from the built-in VS code terminal will open on the desktop automatically.",

src/desktop-lite/install.sh

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ package_list="
3131
fbautostart \
3232
at-spi2-core \
3333
xterm \
34-
eterm \
3534
nautilus\
3635
mousepad \
3736
seahorse \
@@ -200,13 +199,13 @@ fi
200199
# Install X11, fluxbox and VS Code dependencies
201200
check_packages ${package_list}
202201

203-
# if Ubuntu-24.04, noble(numbat) found, then will install libasound2-dev instead of libasound2.
202+
# if Ubuntu-24.04, noble(numbat) / Debian-13, trixie found, then will install libasound2-dev instead of libasound2.
204203
# this change is temporary, https://packages.ubuntu.com/noble/libasound2 will switch to libasound2 once it is available for Ubuntu-24.04, noble(numbat)
205204
. /etc/os-release
206-
if [ "${ID}" = "ubuntu" ] && [ "${VERSION_CODENAME}" = "noble" ]; then
207-
echo "Ubuntu 24.04, Noble(Numbat) detected. Installing libasound2-dev package..."
205+
if { [ "${ID}" = "ubuntu" ] && [ "${VERSION_CODENAME}" = "noble" ]; } || { [ "${ID}" = "debian" ] && [ "${VERSION_CODENAME}" = "trixie" ]; }; then
206+
echo "Detected Noble (Ubuntu 24.04) or Trixie (Debian). Installing libasound2-dev package..."
208207
check_packages "libasound2-dev"
209-
else
208+
else
210209
check_packages "libasound2"
211210
fi
212211

src/docker-in-docker/NOTES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,6 @@ This docker-in-docker Dev Container Feature is roughly based on the [official do
1313

1414
This Feature should work on recent versions of Debian/Ubuntu-based distributions with the `apt` package manager installed.
1515

16+
Debian Trixie (13) does not include moby-cli and related system packages, so the feature cannot install with "moby": "true". To use this feature on Trixie, please set "moby": "false" or choose a different base image (for example, Ubuntu 24.04).
17+
1618
`bash` is required to execute the `install.sh` script.

src/docker-in-docker/devcontainer-feature.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "docker-in-docker",
3-
"version": "2.12.2",
3+
"version": "2.12.4",
44
"name": "Docker (Docker-in-Docker)",
55
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/docker-in-docker",
66
"description": "Create child containers *inside* a container, independent from the host's docker instance. Installs Docker extension in the container along with needed CLIs.",

src/docker-in-docker/install.sh

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ USERNAME="${USERNAME:-"${_REMOTE_USER:-"automatic"}"}"
1818
INSTALL_DOCKER_BUILDX="${INSTALLDOCKERBUILDX:-"true"}"
1919
INSTALL_DOCKER_COMPOSE_SWITCH="${INSTALLDOCKERCOMPOSESWITCH:-"true"}"
2020
MICROSOFT_GPG_KEYS_URI="https://packages.microsoft.com/keys/microsoft.asc"
21-
DOCKER_MOBY_ARCHIVE_VERSION_CODENAMES="bookworm buster bullseye bionic focal jammy noble"
22-
DOCKER_LICENSED_ARCHIVE_VERSION_CODENAMES="bookworm buster bullseye bionic focal hirsute impish jammy noble"
21+
MICROSOFT_GPG_KEYS_ROLLING_URI="https://packages.microsoft.com/keys/microsoft-rolling.asc"
22+
DOCKER_MOBY_ARCHIVE_VERSION_CODENAMES="trixie bookworm buster bullseye bionic focal jammy noble"
23+
DOCKER_LICENSED_ARCHIVE_VERSION_CODENAMES="trixie bookworm buster bullseye bionic focal hirsute impish jammy noble"
2324
DISABLE_IP6_TABLES="${DISABLEIP6TABLES:-false}"
2425

2526
# Default: Exit on any failure.
@@ -194,18 +195,25 @@ export DEBIAN_FRONTEND=noninteractive
194195
# Fetch host/container arch.
195196
architecture="$(dpkg --print-architecture)"
196197

198+
# Prevent attempting to install Moby on Debian trixie (packages removed)
199+
if [ "${USE_MOBY}" = "true" ] && [ "${ID}" = "debian" ] && [ "${VERSION_CODENAME}" = "trixie" ]; then
200+
err "The 'moby' option is not supported on Debian 'trixie' because 'moby-cli' and related system packages have been removed from that distribution."
201+
err "To continue, either set the feature option '\"moby\": false' or use a different base image (for example: 'debian:bookworm' or 'ubuntu-24.04')."
202+
exit 1
203+
fi
204+
197205
# Check if distro is supported
198206
if [ "${USE_MOBY}" = "true" ]; then
199207
if [[ "${DOCKER_MOBY_ARCHIVE_VERSION_CODENAMES}" != *"${VERSION_CODENAME}"* ]]; then
200208
err "Unsupported distribution version '${VERSION_CODENAME}'. To resolve, either: (1) set feature option '\"moby\": false' , or (2) choose a compatible OS distribution"
201-
err "Support distributions include: ${DOCKER_MOBY_ARCHIVE_VERSION_CODENAMES}"
209+
err "Supported distributions include: ${DOCKER_MOBY_ARCHIVE_VERSION_CODENAMES}"
202210
exit 1
203211
fi
204212
echo "Distro codename '${VERSION_CODENAME}' matched filter '${DOCKER_MOBY_ARCHIVE_VERSION_CODENAMES}'"
205213
else
206214
if [[ "${DOCKER_LICENSED_ARCHIVE_VERSION_CODENAMES}" != *"${VERSION_CODENAME}"* ]]; then
207215
err "Unsupported distribution version '${VERSION_CODENAME}'. To resolve, please choose a compatible OS distribution"
208-
err "Support distributions include: ${DOCKER_LICENSED_ARCHIVE_VERSION_CODENAMES}"
216+
err "Supported distributions include: ${DOCKER_LICENSED_ARCHIVE_VERSION_CODENAMES}"
209217
exit 1
210218
fi
211219
echo "Distro codename '${VERSION_CODENAME}' matched filter '${DOCKER_LICENSED_ARCHIVE_VERSION_CODENAMES}'"
@@ -233,7 +241,10 @@ if [ "${USE_MOBY}" = "true" ]; then
233241
cli_package_name="moby-cli"
234242

235243
# Import key safely and import Microsoft apt repo
236-
curl -sSL ${MICROSOFT_GPG_KEYS_URI} | gpg --dearmor > /usr/share/keyrings/microsoft-archive-keyring.gpg
244+
{
245+
curl -sSL ${MICROSOFT_GPG_KEYS_URI}
246+
curl -sSL ${MICROSOFT_GPG_KEYS_ROLLING_URI}
247+
} | gpg --dearmor > /usr/share/keyrings/microsoft-archive-keyring.gpg
237248
echo "deb [arch=${architecture} signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/repos/microsoft-${ID}-${VERSION_CODENAME}-prod ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/microsoft.list
238249
else
239250
# Name of licensed engine/cli
@@ -305,7 +316,7 @@ else
305316
set -e
306317

307318
if [ ${exit_code} -ne 0 ]; then
308-
err "Packages for moby not available in OS ${ID} ${VERSION_CODENAME} (${architecture}). To resolve, either: (1) set feature option '\"moby\": false' , or (2) choose a compatible OS version (eg: 'ubuntu-20.04')."
319+
err "Packages for moby not available in OS ${ID} ${VERSION_CODENAME} (${architecture}). To resolve, either: (1) set feature option '\"moby\": false' , or (2) choose a compatible OS version (eg: 'ubuntu-24.04')."
309320
exit 1
310321
fi
311322

src/docker-outside-of-docker/NOTES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,6 @@ services:
5858

5959
This Feature should work on recent versions of Debian/Ubuntu-based distributions with the `apt` package manager installed.
6060

61+
Debian Trixie (13) does not include moby-cli and related system packages, so the feature cannot install with "moby": "true". To use this feature on Trixie, please set "moby": "false" or choose a different base image (for example, Ubuntu 24.04).
62+
6163
`bash` is required to execute the `install.sh` script.

src/docker-outside-of-docker/devcontainer-feature.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"id": "docker-outside-of-docker",
3-
"version": "1.6.3",
3+
"version": "1.6.5",
44
"name": "Docker (docker-outside-of-docker)",
55
"documentationURL": "https://github.com/devcontainers/features/tree/main/src/docker-outside-of-docker",
66
"description": "Re-use the host docker socket, adding the Docker CLI to a container. Feature invokes a script to enable using a forwarded Docker socket within a container to run Docker commands.",

0 commit comments

Comments
 (0)