Skip to content

Commit 938e2a9

Browse files
CopilotKaniska244abdurriqCopilot
authored
Document "dev" tagged images (#1787)
* Initial plan * Document purpose and usage of "dev" tagged images Co-authored-by: Kaniska244 <[email protected]> * Apply suggestion from @Copilot Co-authored-by: Copilot <[email protected]> * Apply suggestion from @Copilot Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: Kaniska244 <[email protected]> Co-authored-by: Abdurrahmaan Iqbal <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Kaniska <[email protected]>
1 parent 807256b commit 938e2a9

1 file changed

Lines changed: 47 additions & 1 deletion

File tree

build/README.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,52 @@ This CLI is used in the GitHub Actions workflows in this repository.
1919
- `smoke-*.yaml` (using the `smoke-test` action in this repository) - Runs a build without pushing and executes `test-project/test.sh` (if present) inside the container to verify that there are no breaking changes to the image when the repository contents are updated.
2020
- `version-history.yml`: Listens for workflow dispatch events to trigger cgmanifest.json and history markdown generation.
2121

22+
## "dev" tagged images
23+
24+
In addition to versioned releases, this repository publishes special "dev" tagged image variants. Understanding their purpose and characteristics helps you choose the right image for your needs.
25+
26+
### Purpose
27+
28+
"dev" images are preview builds generated from the main branch. They provide early access to:
29+
- Upstream OS package updates
30+
- New language runtime versions
31+
- Repository improvements before official releases
32+
33+
### Tagging pattern
34+
35+
Images receive both generic and specific dev tags:
36+
- Generic: `mcr.microsoft.com/devcontainers/<image>:dev`
37+
- With version: `mcr.microsoft.com/devcontainers/<image>:dev-<version>`
38+
- With distro: `mcr.microsoft.com/devcontainers/<image>:dev-<distro>`
39+
- Combined: `mcr.microsoft.com/devcontainers/<image>:dev-<version>-<distro>`
40+
41+
### Update frequency
42+
43+
Weekly automated builds occur every Monday via `push-dev.yml` workflow, ensuring dev images stay current with main branch changes.
44+
45+
### Usage recommendations
46+
47+
**Use dev images for:**
48+
- Testing unreleased features
49+
- Validating upcoming changes
50+
- Development environments where latest updates are desired
51+
52+
**Avoid dev images for:**
53+
- Production workloads
54+
- Reproducible CI/CD pipelines
55+
- Stable development environments
56+
57+
**Migration example:**
58+
```dockerfile
59+
# Preview/testing
60+
FROM mcr.microsoft.com/devcontainers/python:dev-3.13
61+
62+
# Stable/production
63+
FROM mcr.microsoft.com/devcontainers/python:3-3.13
64+
```
65+
66+
The versioned tag provides stability while dev tags continuously incorporate changes.
67+
2268
## Setting up a container to be built
2369

2470
> **Note:** Only @devcontainers/maintainers can currently onboard an image to this process since it requires access the Microsoft Container Registry. [See here for details](https://github.com/microsoft/vscode-internalbacklog/wiki/Remote-Container-Images-MCR-Setup).
@@ -148,7 +194,7 @@ In this case, Debian is also the one that is used for `latest` for the `base` re
148194

149195
> **NOTE:** The version number used for this repository should be kept in sync with the VS Code Remote - Containers extension to make it easy for developers to find.
150196

151-
There's a special "dev" version that can be used to build main on CI - I ended up needing this to test and others would if they base an image off of one of the MCR images. e.g. `dev-debian-11`.
197+
In addition to versioned tags, "dev" tags are also generated for testing purposes. See the ["dev" tagged images](#dev-tagged-images) section for details on their purpose and usage.
152198

153199
### The `version` property
154200

0 commit comments

Comments
 (0)