mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-14 20:48:00 +00:00
Dev containers[1] provide a self-contained development environment that
can be tailored for a project. GitHub Codespaces[2] provide a cloud
hosted environment to run these containers in. This makes it easy to
provision a consistent development environment with developer tooling
already installed and configured that provide the following benefits:
1. Developer onboarding is simplified.
1. Easy to get environment setup and running
2. Reference environment is available, if developer is having issues
with local environment
2. Developer tooling is provided and automatically configured.
1. Python / C++ build tooling
2. Python / C++ code formatters / linters
3. Easy to provision cloud hosted environment via GitHub Codespace.
4. Easy to create ephemeral development environments to test new changes
1. Can be used to provision environments to test changes
and Pull Requests
This can ease several pain points that developers on-boarding to the
project can encounter. One of the problems I have seen with developers
new to the project (I am one of these) is having the baseline
development environment (Python / C++) and recommended tools (e.g. VS
Code Python / C++ extensions, linters, and autoformatters) installed and
configured to efficiently get started in the repository. For all
developers, this makes it easy to leverage ephemeral cloud hosted
development environments via GitHub Codespaces.
**Notes:**
- Compiling the project can run into trouble if the codespace has < 32
GB of RAM
1) https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/introduction-to-dev-containers
2) https://docs.github.com/en/codespaces/overview
49 lines
1.6 KiB
JSON
49 lines
1.6 KiB
JSON
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
|
// https://github.com/microsoft/vscode-dev-containers/tree/v0.234.0/containers/docker-existing-dockerfile
|
|
{
|
|
"name": "Onnx Runtime - Eager Mode",
|
|
|
|
"build": {
|
|
"dockerfile": "Dockerfile"
|
|
},
|
|
|
|
"customizations": {
|
|
// Configure properties specific to VS Code.
|
|
"vscode": {
|
|
// Set *default* container specific settings.json values on container create.
|
|
"settings": {
|
|
"python.languageServer": "Default",
|
|
"cmake.ignoreCMakeListsMissing": true,
|
|
"python.defaultInterpreterPath": "/usr/bin/python3",
|
|
"python.linting.enabled": true,
|
|
"python.linting.pylintEnabled": true
|
|
},
|
|
|
|
// Add the IDs of extensions you want installed when the container is created.
|
|
"extensions": [
|
|
"ms-python.vscode-pylance",
|
|
"ms-python.python",
|
|
"ms-vscode.cpptools-extension-pack",
|
|
"ms-vscode.cmake-tools"
|
|
]
|
|
}
|
|
},
|
|
|
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
// "forwardPorts": [],
|
|
|
|
// Uncomment the next line to run commands after the container is created - for example installing curl.
|
|
// "postCreateCommand": "apt-get update && apt-get install -y curl",
|
|
|
|
// Uncomment when using a ptrace-based debugger like C++, Go, and Rust
|
|
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
|
|
|
|
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
|
|
"remoteUser": "vscode",
|
|
|
|
"features": {
|
|
"git": "os-provided",
|
|
"python": "os-provided",
|
|
"powershell": "7.1"
|
|
}
|
|
}
|