Skip to content

Commit dc3da05

Browse files
authored
Merge branch 'main' into main
2 parents 84db8e4 + 217ae9c commit dc3da05

50 files changed

Lines changed: 2373 additions & 2510 deletions

Some content is hidden

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

.eslintignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

.eslintrc.js

Lines changed: 0 additions & 64 deletions
This file was deleted.

.github/dependabot.yml

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,15 @@ updates:
1717
patterns:
1818
- "*"
1919
ignore:
20-
- dependency-name: "@stylistic/eslint-plugin"
21-
update-types: ["version-update:semver-major"] # stylistic 3 to avoid esm
2220
- dependency-name: "@types/chai"
2321
update-types: ["version-update:semver-major"] # chai 4 to avoid esm
2422
- dependency-name: "@types/node"
25-
update-types: ["version-update:semver-major"] # Keep Node 18 compatibility
26-
- dependency-name: "@types/tar"
27-
update-types: ["version-update:semver-major"] # tar 6 for source compatibility
23+
update-types: ["version-update:semver-major"] # Keep Node 20 compatibility
2824
- dependency-name: "chai"
2925
update-types: ["version-update:semver-major"] # chai 4 to avoid esm
30-
- dependency-name: "eslint"
31-
update-types: ["version-update:semver-major"] # eslint 8 for `--rulesdir`
32-
- dependency-name: "rimraf"
33-
update-types: ["version-update:semver-major"] # rimraf 5 for Node 18 compatibility
34-
- dependency-name: "tar"
35-
update-types: ["version-update:semver-major"] # tar 6 for source compatibility
26+
- dependency-name: "yargs"
27+
update-types: ["version-update:semver-major"] # yargs 17 for esbuild CJS bundling
28+
- dependency-name: "node-pty"
29+
update-types: ["version-update:semver-minor"] # node-pty 1.1 has broken spawn-helper permissions (microsoft/node-pty#866)
3630
schedule:
3731
interval: "weekly"

.github/workflows/dev-containers.yml

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ on:
88
branches:
99
- '**'
1010

11+
permissions:
12+
contents: read
13+
packages: read
14+
1115
jobs:
1216
cli:
1317
name: CLI
@@ -16,7 +20,7 @@ jobs:
1620
- uses: actions/checkout@v6
1721
- uses: actions/setup-node@v5
1822
with:
19-
node-version: '18.x'
23+
node-version: '20.x'
2024
registry-url: 'https://npm.pkg.github.com'
2125
scope: '@microsoft'
2226
- name: Install Dependencies
@@ -33,7 +37,7 @@ jobs:
3337
echo "TGZ=devcontainers-cli-${VERSION}.tgz" | tee -a $GITHUB_ENV
3438
echo "TGZ_UPLOAD=devcontainers-cli-${VERSION}-${GITHUB_SHA:0:8}.tgz" | tee -a $GITHUB_ENV
3539
- name: Store TGZ
36-
uses: actions/upload-artifact@v5
40+
uses: actions/upload-artifact@v7
3741
with:
3842
name: ${{ env.TGZ_UPLOAD }}
3943
path: ${{ env.TGZ }}
@@ -66,9 +70,23 @@ jobs:
6670
- name: Setup Node.js
6771
uses: actions/setup-node@v5
6872
with:
69-
node-version: '18.x'
73+
node-version: '20.x'
7074
registry-url: 'https://npm.pkg.github.com'
7175
scope: '@microsoft'
76+
- name: Disable containerd image store
77+
run: |
78+
# Workaround for https://github.com/moby/moby/issues/52050
79+
DAEMON_JSON="/etc/docker/daemon.json"
80+
if [ -f "$DAEMON_JSON" ]; then
81+
sudo jq '. + {"features": {"containerd-snapshotter": false}}' "$DAEMON_JSON" \
82+
| sudo tee "${DAEMON_JSON}.tmp" > /dev/null
83+
sudo mv "${DAEMON_JSON}.tmp" "$DAEMON_JSON"
84+
else
85+
echo '{"features": {"containerd-snapshotter": false}}' \
86+
| sudo tee "$DAEMON_JSON" > /dev/null
87+
fi
88+
cat "$DAEMON_JSON"
89+
sudo systemctl restart docker
7290
- name: Tools Info
7391
run: |
7492
docker info
@@ -99,7 +117,7 @@ jobs:
99117
- name: Setup Node.js
100118
uses: actions/setup-node@v5
101119
with:
102-
node-version: '18.x'
120+
node-version: '20.x'
103121
registry-url: 'https://npm.pkg.github.com'
104122
scope: '@microsoft'
105123
- name: Install Dependencies
@@ -120,9 +138,21 @@ jobs:
120138
FEATURES_TEST__AZURE_REGISTRY_SCOPED_CREDENTIAL: ${{ secrets.FEATURES_TEST__AZURE_REGISTRY_SCOPED_CREDENTIAL }}
121139

122140

141+
install-script:
142+
name: Install Script
143+
strategy:
144+
fail-fast: false
145+
matrix:
146+
os: [ubuntu-latest, macos-latest]
147+
runs-on: ${{ matrix.os }}
148+
steps:
149+
- uses: actions/checkout@v6
150+
- name: Run install.sh tests
151+
run: sh scripts/install.test.sh
152+
123153
tests:
124154
name: Tests
125-
needs: [tests-matrix, features-registry-compatibility]
155+
needs: [tests-matrix, features-registry-compatibility, install-script]
126156
runs-on: ubuntu-latest
127157
steps:
128158
- name: Done

.github/workflows/publish-dev-containers.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ on:
55
tags:
66
- 'v*'
77

8+
permissions:
9+
contents: read
10+
actions: read
11+
812
jobs:
913
main:
1014
runs-on: ubuntu-latest
@@ -14,7 +18,7 @@ jobs:
1418
- name: Setup Node.js
1519
uses: actions/setup-node@v5
1620
with:
17-
node-version: '18.x'
21+
node-version: '20.x'
1822
registry-url: 'https://registry.npmjs.org'
1923
scope: '@devcontainers'
2024
- name: Verify Versions

.github/workflows/test-docker-v20.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
pull_request:
77
branches: ['main']
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
test-docker-v20:
1114
name: Docker v20.10 Compatibility
@@ -16,7 +19,7 @@ jobs:
1619

1720
- uses: actions/setup-node@v5
1821
with:
19-
node-version: '18.x'
22+
node-version: '20.x'
2023

2124
- name: Install Docker v20.10
2225
run: |
@@ -33,7 +36,14 @@ jobs:
3336
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
3437
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3538
sudo apt-get update
36-
sudo apt-get install -y docker-ce=5:20.10.* docker-ce-cli=5:20.10.* containerd.io
39+
# Pin buildx < 0.31.0 to avoid API version 1.52 incompatibility with Docker 20.10 (max API 1.41)
40+
# See https://github.com/docker/buildx/issues/3654
41+
BUILDX_VERSION=$(apt-cache madison docker-buildx-plugin | awk '{print $3}' | grep -v '^0\.3[1-9]\.' | head -1)
42+
echo "Installing docker-buildx-plugin=$BUILDX_VERSION"
43+
# Pin compose plugin to v2.x to avoid API incompatibility with Docker 20.10
44+
COMPOSE_VERSION=$(apt-cache madison docker-compose-plugin | awk '{print $3}' | grep '^2\.' | head -1)
45+
echo "Installing docker-compose-plugin=$COMPOSE_VERSION"
46+
sudo apt-get install -y docker-ce=5:20.10.* docker-ce-cli=5:20.10.* containerd.io docker-buildx-plugin="$BUILDX_VERSION" docker-compose-plugin="$COMPOSE_VERSION"
3747
sudo systemctl restart docker
3848
3949
- name: Verify Docker version, Install and Test

.github/workflows/test-docker-v29.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
pull_request:
77
branches: ['main']
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
test-docker-v29:
1114
name: Docker v29.0.0 Compatibility
@@ -16,7 +19,7 @@ jobs:
1619

1720
- uses: actions/setup-node@v5
1821
with:
19-
node-version: '18.x'
22+
node-version: '20.x'
2023

2124
- name: Install Docker v29.0.0
2225
run: |

.github/workflows/test-plan-item-validator.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ on:
33
issues:
44
types: [edited]
55

6+
permissions:
7+
contents: read
8+
issues: write
9+
610
jobs:
711
main:
812
runs-on: ubuntu-latest

.github/workflows/test-windows.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ on:
1111
pull_request:
1212
branches:
1313
- '**'
14+
15+
permissions:
16+
contents: read
17+
1418
jobs:
1519
tests-matrix:
1620
name: Tests Matrix (Windows)
@@ -50,7 +54,7 @@ jobs:
5054
- name: Setup Node.js
5155
uses: actions/setup-node@v5
5256
with:
53-
node-version: '18.x'
57+
node-version: '20.x'
5458
registry-url: 'https://npm.pkg.github.com'
5559
scope: '@microsoft'
5660
- name: Install Dependencies

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,30 @@
22

33
Notable changes.
44

5+
## March 2026
6+
7+
### [0.84.1]
8+
- Bump tar from 7.5.10 to 7.5.11 due to [CVE-2026-31802](https://github.com/advisories/GHSA-9ppj-qmqm-q256). (https://github.com/devcontainers/cli/pull/1174)
9+
10+
### [0.84.0]
11+
- Dependencies update. (https://github.com/devcontainers/cli/pull/1167)
12+
13+
## February 2026
14+
15+
### [0.83.3]
16+
- Bump tar from 7.5.7 to 7.5.8. (https://github.com/devcontainers/cli/pull/1160)
17+
18+
### [0.83.2]
19+
- Improved logging for image inspect errors. (https://github.com/devcontainers/cli/pull/1152)
20+
21+
### [0.83.1]
22+
- Bump tar from 7.5.6 to 7.5.7. (https://github.com/devcontainers/cli/pull/1140)
23+
24+
### [0.83.0]
25+
- Add install script. (https://github.com/devcontainers/cli/pull/1142)
26+
- Remove request body limit. (https://github.com/devcontainers/cli/pull/1141)
27+
- Add BUILDKIT_INLINE_CACHE for container Feature path. (https://github.com/devcontainers/cli/pull/1135)
28+
529
## January 2026
630

731
### [0.82.0]

0 commit comments

Comments
 (0)