- Notifications
You must be signed in to change notification settings - Fork65
A GitHub Action and Azure DevOps Task designed to simplify using Dev Containers (https://containers.dev) in CI/CD systems.
License
devcontainers/ci
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The Dev Container Build and Run GitHub Action is aimed at making it easier to re-useDev Containers in a GitHub workflow. The Action supports using a Dev Container to run commands for CI, testing, and more, along with pre-building a Dev Container image. Dev Container image building supportsDev Container Features and automatically places Dev Containermetadata on an image label for simplified use.
NOTE: The Action is not currently capable of taking advantage of pre-built Codespaces. However, pre-built images are supported.
A similarAzure DevOps Task is also available!
Note that this project builds on top of@devcontainers/cli which can be used in other automation systems.
Here are three examples of using the Action for common scenarios. See thedocumentation for more details and a list of availableinputs.
Pre-building an image:
-name:Pre-build dev container imageuses:devcontainers/ci@v0.3with:imageName:ghcr.io/example/example-devcontainercacheFrom:ghcr.io/example/example-devcontainerpush:always
Using a Dev Container for a CI build:
-name:Run make ci-build in dev containeruses:devcontainers/ci@v0.3with:# [Optional] If you have a separate workflow like the one above# to pre-build your container image, you can reference it here# to speed up your application build workflows as well!cacheFrom:ghcr.io/example/example-devcontainerpush:neverrunCmd:make ci-build
Both at once:
-name:Pre-build image and run make ci-build in dev containeruses:devcontainers/ci@v0.3with:imageName:ghcr.io/example/example-devcontainercacheFrom:ghcr.io/example/example-devcontainerpush:alwaysrunCmd:make ci-build
This version updates the release mechanism for the GitHub action so that only the compiled JavaScript is included in the release.The primary motivation is to simplify the process for contributing to the action, but a side-benefit should be a reduced download size when using the action.
This version updates the implementation to use@devcontainers/cli.
This brings many benefits around compatibility with Dev Containers. One key area is thatDev Container Features can now be used in CI along with recent enhancements likeimage label support.
0.1.x versions were the initial version of the action/task and attempted to mimic the behaviour of Dev Containers with manualdocker
commands
About
A GitHub Action and Azure DevOps Task designed to simplify using Dev Containers (https://containers.dev) in CI/CD systems.