GitHub launched prebuilt Codespaces in order to reduce the time it takes to spin up a full development environment for large, complex projects.
GitHub Codespaces will provide a fully-featured, cloud-based development environment that aims to improve developer experience in a number of ways. Other benefits of Codespaces include speeding up the process of setting up a development environment and allowing developers to start contributing to a project right away, explains InfoQ.
As it happens, spinning up a full development environment is not always quick as it requires cloning a repository, installing dependencies and plug-ins, executing initialization scripts, and so on. This means the time it takes to be ready to contribute depends on the size of the project and the complexity of its configuration.
So, GitHub is introducing the possibility of prebuilding codespaces in order to improve the performance of Codespaces with larger repositories. The prebuilt codespace will be as a “ready-to-go” template where our source code, editor extensions, project dependencies, commands, and configurations have already been downloaded, installed, and applied.
Even in the beta version, developers will be able to create prebuild configurations selecting which branch it is linked to and in which region the final image will run. After defining the prebuild configuration, the Codespaces service will take care of executing a GitHub Actions workflow associated with the configuration to create the corresponding devcontainer.
Every time we request a prebuilt codespace, the service will fetch a prebuilt template and attach it to an existing virtual machine, hence, it will significantly reduce our codespace creation time. If we need to modify a prebuild configuration, we can update its dev container configuration while using a pull request.
According to GitHub, prebuilt codespaces have been a key factor in the process of GitHub adopting Codespaces as the default development platform. What is more, GitHub ran a private preview of the new feature with approximately 50 organizations which led to a number of improvements that are available, such as a way to identify which machine types have a “prebuild ready” tag; simplifying the burden on admins with the introduction of the mentioned GitHub Actions workflows, and others.
Prebuilt GitHub Codespaces are currently available to GitHub Enterprise Cloud and Teams organizations, albeit still in beta.