Skip to content

nkdui/devcontainer-features

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dev Container Features

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

Features

conan

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

{
    "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
    "features": {
        "ghcr.io/<owner>/<repo>/conan:1": {
            "conanVersion": "1.66.0"
        }
    }
}

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages