Browse Source

.devcontainer/devcontainer.json: Add devcontainer file

Tianocore maintains container images in the tianocore/containers repo
and stores container images within the GitHub container registry.

https://github.com/tianocore/containers

This change adds a devcontainer.json file to the edk2 repo. This
file's metadata and settings to configurate a development container
for a given well-defined tool and runtime stack.

More information about the devcontainer.json file is available here:
https://containers.dev/implementors/json_reference/

This file is recognized by popular tools such as GitHub Codespaces
and VS Code. In VS Code in particular, it makes it much easier for
a user to be aware a dev container exists (via UI notifications)
and to load the container.

A minimal number of VS Code extensions are specified that are useful
for edk2 development or to assist in complying with CI checks in
place in edk2.

Cc: Andrew Fish <afish@apple.com>
Cc: Chris Fernald <chris.fernald@outlook.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Oliver Steffen <osteffen@redhat.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Michael Kubacki 1 year ago
parent
commit
540522fec0
2 changed files with 21 additions and 0 deletions
  1. 16 0
      .devcontainer/devcontainer.json
  2. 5 0
      Maintainers.txt

+ 16 - 0
.devcontainer/devcontainer.json

@@ -0,0 +1,16 @@
+{
+  "image": "ghcr.io/tianocore/containers/fedora-35-dev:latest",
+  "postCreateCommand": "git config --global --add safe.directory * && pip install --upgrade -r pip-requirements.txt",
+  "customizations": {
+    "vscode": {
+      "extensions": [
+        "DavidAnson.vscode-markdownlint",
+        "ms-azuretools.vscode-docker",
+        "ms-vscode-remote.remote-containers",
+        "ms-vscode.cpptools",
+        "walonli.edk2-vscode",
+        "zachflower.uncrustify"
+      ]
+    }
+  }
+}

+ 5 - 0
Maintainers.txt

@@ -117,6 +117,11 @@ M: Michael Kubacki <mikuback@linux.microsoft.com> [makubacki]
 R: Michael D Kinney <michael.d.kinney@intel.com> [mdkinney]
 R: Liming Gao <gaoliming@byosoft.com.cn> [lgao4]
 
+.devcontainer/
+F: .devcontainer/
+M: Michael Kubacki <mikuback@linux.microsoft.com> [makubacki]
+R: Chris Fernald <chris.fernald@outlook.com> [cfernald]
+
 .github/
 F: .github/
 M: Sean Brogan <sean.brogan@microsoft.com> [spbrogan]