devcontainers / devcontainers/cli
`devcontainer upgrade` should still upgrade lockfile even if version given is the same as in `devcontainer.json`
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 457
- Avg merge
- 13h 17m
- Merged PRs (30d)
- 6
Description
With the following `devcontainer.json`:
```json
{
"name": "VS Code with Proxy",
"dockerComposeFile": "docker-compose.yml",
"service": "vscode",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
}
}
```
And the following `devcontainer-lock.json` file:
```json
{
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"version": "2.2.0",
"resolved": "ghcr.io/devcontainers/features/docker-in-docker@sha256:36e51dcb08a87d73250ddb486a88f8755ba93c1bc6756bb32b7ecb38d7175622",
"integrity": "sha256:36e51dcb08a87d73250ddb486a88f8755ba93c1bc6756bb32b7ecb38d7175622"
}
}
}
```
I think it'd be more useful if
```
$ devcontainer upgrade --workspace-folder . --feature ghcr.io/devcontainers/features/docker-in-docker --config devcontainer.json --target-version 2
```
would leave the `devcontainer.json` as is, but update the `devcontainer-lock.json` file like this (assuming 2.7.1 is the lastest 2.x version):
```diff
diff --git a/.devcontainer/devcontainer-lock.json b/.devcontainer/devcontainer-lock.json
index cff76d7..a3868d9 100644
--- a/.devcontainer/devcontainer-lock.json
+++ b/.devcontainer/devcontainer-lock.json
@@ -1,9 +1,9 @@
{
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {
- "version": "2.2.0",
- "resolved": "ghcr.io/devcontainers/features/docker-in-docker@sha256:36e51dcb08a87d73250ddb486a88f8755ba93c1bc6756bb32b7ecb38d7175622",
- "integrity": "sha256:36e51dcb08a87d73250ddb486a88f8755ba93c1bc6756bb32b7ecb38d7175622"
+ "version": "2.7.1",
+ "resolved": "ghcr.io/devcontainers/features/docker-in-docker@sha256:f6a73ee06601d703db7d95d03e415cab229e78df92bb5002e8559bcfc047fec6",
+ "integrity": "sha256:f6a73ee06601d703db7d95d03e415cab229e78df92bb5002e8559bcfc047fec6"
}
}
}
```
Currently it leaves both files untouched.
Contributor guide
Assessment
This issue has not been assessed yet.