From the official devcontainer documentation on Features:
Development container "Features" are self-contained, shareable units of installation code and development container configuration.
In short, a "feature" is a layer in a Dockerfile which encapsulates a reusable bit of logic executed when building a Docker image. It is not a docker layer to put on top of or copied into other layers. It is the script that creates a layer.
This repository defines features to install the following dev tools, compilers, and SDKs:
- CMake
- CUDA Toolkit
- GCC
- GitLab CLI
- LLVM
- Mambaforge
- ninja-build
- NVIDIA HPC SDK
- Intel OneAPI compilers
- CCCL development utilities
- Rust
- sccache
- devcontainer-utils
- rapids-build-utils
These scripts assume that apt utilities are available, and thus only run on debian-based images.
Base images are composed in matrix.yml using YAML anchors. These get built on Github Actions (release.yml and test.yml)