Skip to content

Document "dev" tagged images#1787

Open
Copilot wants to merge 5 commits intomainfrom
copilot/document-dev-python-images
Open

Document "dev" tagged images#1787
Copilot wants to merge 5 commits intomainfrom
copilot/document-dev-python-images

Conversation

Copy link
Contributor

Copilot AI commented Feb 18, 2026

The repository publishes "dev" tagged image variants alongside versioned releases, but their purpose and usage was undocumented. Developers couldn't determine when to use dev vs versioned tags.

Changes

Added comprehensive "dev" tagged images section to build/README.md:

  • Purpose: Preview builds from main branch with latest OS packages, runtimes, and repository changes
  • Tagging pattern: Documents all variants (dev, dev-<version>, dev-<distro>, dev-<version>-<distro>)
  • Update cadence: Weekly automated builds every Monday via push-dev.yml
  • Usage guidance:
    • Use for: testing unreleased features, validating upcoming changes
    • Avoid for: production, reproducible CI/CD, stable environments
  • Migration example: Shows transition from dev to versioned tags

Updated existing dev tag reference to link to new comprehensive section.

Example

# Rolling preview - gets weekly updates, may break
FROM mcr.microsoft.com/devcontainers/python:dev-3.13

# Stable - pins to major version, gets patches only
FROM mcr.microsoft.com/devcontainers/python:1-3.13
Original prompt

This section details on the original issue you should resolve

<issue_title>Document purpose of dev-python images</issue_title>
<issue_description>The python dc images also have a dev-python variant that is largely undocumented as to its purpose & content. This should be documented so developers know the difference and can decide what may be best suited for their purposes.</issue_description>

<agent_instructions>Do add a detailed documentation on the purpose of the publication of dev edition of images in devcontainers/images repository. Add the details in https://github.com/devcontainers/images/tree/main/build#readme file</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@Kaniska244 Hello @bc3tech ,

The dev container images with "dev" tag published each week are more of the preview images. Please find below some details on the same. Kindly let me know in case of further concern/ information.

What are "dev" images:

  • “dev” images are rolling builds produced from the main branch for each image (e.g., go, cpp, dotnet, ruby). They serve as preview builds that incorporate the latest upstream OS packages, language/tool updates, and repository changes before a formal versioned release.

  • Tags typically include both a plain dev tag and dev variants by language/runtime and distro, for example:
    mcr.microsoft.com/devcontainers/go:dev, mcr.microsoft.com/devcontainers/go:dev-1.25, mcr.microsoft.com/devcontainers/go:dev-trixie
    mcr.microsoft.com/devcontainers/cpp:dev, mcr.microsoft.com/devcontainers/cpp:dev-trixie
    When they’re published each week

Update policy and guidance:

  • Dev tags are intentionally “rolling”: they get rebuilt and retagged weekly. The release tool notes that the “replace-images” option does not apply to dev tags, reinforcing their non-versioned, constantly updated nature.

  • Use dev tags to test upcoming changes; for reproducible environments, prefer versioned tags and partial versions (major or major.minor) to pick up only non-breaking changes or fixes.

  • Use dev to get ahead of updates, and use versioned tags when you need predictable builds.</comment_new>
    <comment_new>@Kaniska244
    Indeed the "dev" tag behavior doesn't appear to be documented in details as far as I can see. We will check on the possibility of documenting the behavior of "dev" images. </comment_new>


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: Kaniska244 <186041440+Kaniska244@users.noreply.github.com>
Copilot AI changed the title [WIP] Document purpose of dev-python images Document "dev" tagged images Feb 18, 2026
Copilot AI requested a review from Kaniska244 February 18, 2026 08:49
@Kaniska244 Kaniska244 marked this pull request as ready for review February 18, 2026 09:22
@Kaniska244 Kaniska244 requested a review from a team as a code owner February 18, 2026 09:22
Copilot AI review requested due to automatic review settings February 18, 2026 09:22
Copy link
Contributor

@Kaniska244 Kaniska244 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The failing universal test isn't related to the change done in this current PR. Another PR is ready to fix the test.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Documents the purpose and usage of “dev” tagged image variants so consumers can distinguish rolling preview tags from versioned/reproducible tags.

Changes:

  • Added a new section describing “dev” image purpose, tagging patterns, update cadence, and usage guidance.
  • Updated an existing “dev” tag reference to link to the new section.

Comment on lines +35 to +40
Images receive both generic and specific dev tags:
- Generic: `mcr.microsoft.com/devcontainers/<image>:dev`
- With version: `mcr.microsoft.com/devcontainers/<image>:dev-<version>`
- With distro: `mcr.microsoft.com/devcontainers/<image>:dev-<distro>`
- Combined: `mcr.microsoft.com/devcontainers/<image>:dev-<version>-<distro>`

Copy link

Copilot AI Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The placeholders in the “Tagging pattern” section are a bit ambiguous about what <version> and <distro> represent. In this repo, dev tags are generated by substituting ${VERSION} with dev in each image’s tag templates (see src/*/manifest.json), so the “version” portion is often the runtime variant (e.g., 3.13) and the “distro” is the OS codename (e.g., trixie/bookworm). Consider clarifying this (or adding one concrete example like python:dev-3.13 and python:dev-3.13-trixie) to prevent confusion with the image’s semantic version (e.g., 3.0.5).

Suggested change
Images receive both generic and specific dev tags:
- Generic: `mcr.microsoft.com/devcontainers/<image>:dev`
- With version: `mcr.microsoft.com/devcontainers/<image>:dev-<version>`
- With distro: `mcr.microsoft.com/devcontainers/<image>:dev-<distro>`
- Combined: `mcr.microsoft.com/devcontainers/<image>:dev-<version>-<distro>`
Images receive both generic and specific dev tags. In this context, `<version>` is typically the runtime or language variant (for example, `3.13`), and `<distro>` is the OS codename (for example, `trixie` or `bookworm`):
- Generic: `mcr.microsoft.com/devcontainers/<image>:dev`
- With version: `mcr.microsoft.com/devcontainers/<image>:dev-<version>`
- With distro: `mcr.microsoft.com/devcontainers/<image>:dev-<distro>`
- Combined: `mcr.microsoft.com/devcontainers/<image>:dev-<version>-<distro>`
For example, the Python image might be tagged as `mcr.microsoft.com/devcontainers/python:dev-3.13` and `mcr.microsoft.com/devcontainers/python:dev-3.13-trixie`.

Copilot uses AI. Check for mistakes.
@Kaniska244 Kaniska244 requested a review from abdurriq February 19, 2026 07:52
abdurriq and others added 2 commits February 19, 2026 12:19
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document purpose of dev-python images

3 participants

Comments