Commits


Jameson Miller authored and GitHub committed 108b860dc1c
Add dev container / codespace configuration (#12256) 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