Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenDreamnet Dev Container Features

A collection of reusable features for installing the tools the company needs in its development containers. Each feature includes its installer, options, and tests.

Usage

Add features to .devcontainer/devcontainer.json:

{
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
  "features": {
    "ghcr.io/opendreamnet/devcontainer-features/tatr:1": {
      "tatrVersion": "main",
      "runTests": false
    },
    "ghcr.io/opendreamnet/devcontainer-features/git-cliff:1": {
      "gitCliffVersion": "2.14.2"
    },
    "ghcr.io/opendreamnet/devcontainer-features/acs:1": {
      "acsVersion": "0.1.0"
    }
  }
}

This example requires the feature to be published and accessible on GHCR. Use :1 to track a major version or an exact version, such as :1.1.0, to pin the feature. The tool revision is configured separately; for tatr, use a full SHA in tatrVersion to pin the source code.

Features

Feature Description Options
tatr Builds and installs tsoding's task tracker on Linux. Metadata and defaults
upx Installs UPX from verified upstream Linux releases. Metadata and defaults
git-cliff Installs git-cliff from SHA-512 verified Linux releases for generating changelogs. Metadata and defaults
acs Installs Agent Coding Standards CLI from SHA-256 verified upstream Linux releases. Metadata and defaults

Development

  • src/<id>/: devcontainer-feature.json, install.sh, and any files needed to install the feature.
  • test/<id>/: test.sh, scenarios.json, and one script per scenario.
  • .github/workflows/: publishing to GHCR and generating per-feature documentation.
  • .devcontainer/: the repository's development environment.

Requires a working Docker installation and the Dev Container CLI, which is installed automatically in the repository's devcontainer. Outside that environment:

npm install -g @devcontainers/cli

From the repository root, run tests for one feature or the entire collection:

devcontainer features test --project-folder . --features tatr --skip-duplicated
devcontainer features test --project-folder . --skip-duplicated

See AGENTS.md for instructions on adding features. The configured workflows run on pushes to main or manual dispatch; they do not currently run tests.

References

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages