Amp Devcontainer Save

amp-devcontainer is a fully loaded devcontainer useable for (embedded) C++ or Rust development

Project README

amp-devcontainer

Linting & Formatting Build & Push OpenSSF Scorecard

Overview

This repository contains a devcontainer tailored towards modern (embedded) C++ development.

State

This repository is under active development; see pulse for more details.

Description

Image variants

Two devcontainers are published towards the GitHub Container Registry:

amp-devcontainer

The amp-devcontainer built from this repository contains compilers and tools to facilitate modern (embedded) C++ development. The amp-devcontainer includes support for host- and cross-compilation using gcc, arm-gcc and clang compilers. Next to the compilers there is support for code-coverage measurement, mutation testing (using mull), fuzzing (using libfuzzer) and static analysis (clang-format, clang-tidy, clangd, include-what-you-use). The default build system is set up to use CMake, Ninja and CCache.

For the full list of all included tools and tool versions see the Dependency Graph, the SBOM published with a release, or the SBOM attached to the image.

amp-devcontainer-vscode

The amp-devcontainer-vscode is a, slightly more, opinionated variant that can be used in Visual Studio Code or GitHub Codespaces without any additional configuration. All included tools are set-up and necessary plug-ins will be installed at container start. This behavior is implemented by appending devcontainer metadata to an image label according to the specifications. It is possible to override, amend or change the options following this merge logic.

Usage

Verify image signature

The container images are signed with SigStore Cosign using a keyless signing method.

The signature can be verified with the following command (using Docker), verifying that the image is actually signed by the GitHub CI system:

amp-devcontainer

docker run --rm gcr.io/projectsigstore/cosign verify ghcr.io/philips-software/amp-devcontainer --certificate-oidc-issuer https://token.actions.githubusercontent.com --certificate-identity-regexp https://github.com/philips-software/amp-devcontainer

amp-devcontainer-vscode

docker run --rm gcr.io/projectsigstore/cosign verify ghcr.io/philips-software/amp-devcontainer-vscode --certificate-oidc-issuer https://token.actions.githubusercontent.com --certificate-identity-regexp https://github.com/philips-software/amp-devcontainer

The resulting containers can be used in a .devcontainer.json file or in a .devcontainer folder.

[!NOTE] While the following examples use the latest tag, it is recommended to pin to a specific version. Or better yet, a specific SHA.

amp-devcontainer

.devcontainer/devcontainer.json or .devcontainer.json

{
    "image": "ghcr.io/philips-software/amp-devcontainer:latest"
}

amp-devcontainer-vscode

.devcontainer/devcontainer.json or .devcontainer.json

{
    "image": "ghcr.io/philips-software/amp-devcontainer-vscode:latest"
}

Community

This project uses a code of conduct to define expected conduct in our community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the repository administrators by using the Report content functionality of GitHub.

Changelog

See the changelog for more info on what's been changed.

Contributing

This project uses Semantic Versioning 2.0.0 and Conventional Commits 1.0.0 please see the contributing guideline for more information.

Build & Test

The container can be built and tested locally by importing this repository in VS Code with the Remote Containers plug-in installed. As a prerequisite Docker needs to be installed on the host system. Alternatively a GitHub Codespace can be started.

A test task is available to run the included bats tests. Choose Tasks: Run Test Task from the command pallette (Ctrl + Shift + P).

Reporting vulnerabilities

If you find a vulnerability, please report it to us! See security for more information.

Licenses

See license

Open Source Agenda is not affiliated with "Amp Devcontainer" Project. README Source: philips-software/amp-devcontainer
Stars
78
Open Issues
3
Last Commit
1 week ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating