GitHub

Dev Container Features

A collection of Dev Container Features for development environments, published to GitHub Container Registry.

conan

Installs Conan 1.x, the open source C/C++ package manager. Supports multiple Linux distributions and handles version conflicts gracefully.

Options:

Option Default Description
conanVersion latest Version of Conan 1.x to install (e.g., 1.66.0, 1.60.2, or latest for newest 1.x)

Supported distributions: Ubuntu, Debian, Fedora, Arch Linux, Alpine

Repository Structure

src/<feature>/
  devcontainer-feature.json   # Feature metadata, options, version
  install.sh                  # Entrypoint, runs as root during build
test/<feature>/
  scenarios.json               # Test scenarios (optional)
  test.sh                      # Auto-generated tests
  <scenario_name>.sh           # Per-scenario test scripts
test/_global/
  scenarios.json               # Multi-feature integration tests

Development

Prerequisites: Install the devcontainer CLI globally:

npm install -g @devcontainers/cli

Validate feature metadata:

devcontainer features validate --base-path ./src

Test a single feature (auto-generated tests):

devcontainer features test -f <feature> --skip-scenarios -i mcr.microsoft.com/devcontainers/base:ubuntu .

Test a single feature (scenarios only):

devcontainer features test -f <feature> --skip-autogenerated --skip-duplicated .

Test global scenarios:

devcontainer features test --global-scenarios-only .

Publishing

Features are published to GHCR via the release workflow (manual trigger, main branch only).

  • Namespace: ghcr.io/<owner>/<repo>/<feature>:<version>
  • Packages default to private in GHCR; manually set to public in package settings
  • READMEs are auto-generated per feature (merges src/<feature>/NOTES.md if exists)

Resources

Read the original on github.com ↗