Skip to content

chore(devcontainer): pin base image version and align Node.js to v20 #513

@WilliamBerryiii

Description

@WilliamBerryiii

Summary

Pin the devcontainer base image to a specific version tag and align the Node.js version with copilot-setup-steps for reproducible builds.

Acceptance Criteria

  • Base image changed from mcr.microsoft.com/devcontainers/base:ubuntu to mcr.microsoft.com/devcontainers/base:0-ubuntu-22.04
  • Node.js feature version changed from "lts" to "20" to match copilot-setup-steps.yml
  • Devcontainer features remain at major version pins (:1) for security update coverage
  • Existing codespace builds succeed after changes

Technical Details

The current unpinned base image (base:ubuntu) resolves to the latest Ubuntu LTS at build time, which can change without notice and break tool installations. Pinning to 0-ubuntu-22.04 provides stability while still receiving security patches within the Ubuntu 22.04 lifecycle.

Feature major version pins (:1) are appropriate because they receive minor and patch updates automatically, keeping tools current while maintaining API compatibility.

Metadata

Metadata

Labels

devcontainerDevelopment container configurationinfrastructureRepository infrastructure and toolingmaintenanceMaintenance work, no version bump

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions