This repository contains features for the tools that I find useful when working with devcontainers.
The implementation of my devcontainer features is based heavily on the examples provided in the devcontainers/feature-starter template repository.
The devcontainer
command provides support for testing devcontainer features. This repository has tests, which are run automatically in a GitHub action.
To run them locally, install the devcontainer
command:
npm install -g @devcontainer/cli
Then run the tests:
devcontainer features test --skip-autogenerated .
If writing new tests, the cli testing docs are the best place to read up on how the test framework works.
If you're ready to release a new version of a feature, you'll need to bump the version number in the devcontainer-feature.json
file. Follow semantic versioning when choosing the version number.
Documentation for a feature (in a feature-specific README.md
file) is auto-generated from the feature's metadata, and (if present) a NOTES.md
file in the feature's directory. So write instructions for users in the NOTES.md
file. The GitHub action will automatically produce a pull request that creates/updates the README.md
file, as required.
To actually publish a feature you can use the devcontainer features publish
command, but the easy way is to run the GitHub action. Head over to the Actions tab, find the Release action, and run it.