GitHub Codespaces is a cloud-based development environment that allows developers to join a project, launch a developer environment, and start coding with minimal configuration–all from the same browser. Codespaces are run on a variety of compute options based on the virtual machine hosted by GitHub, and can be configured from 2 core machines to 32 core machines.
On 23 February, GitHub announced the beta release of its ability to prebuild
Codespace
templates for faster application development. Prebuilds are plug and play templates for codespace. The templates allow faster access to the codespace irrespective of the size and complexity of the project, boosting the productivity of developers.
Codespace is a great platform for open-source contributors as adding a Codespace configuration to the project can accelerate its development. The prebuilt Codespace templates have the following advantages:
-
Reduced coding time: Initially, virtual environments took around 45 minutes to activate in some cases. Later, the start-up time was brought down to 5 minutes. However, the implementation of prebuilt Codespace templates brings down the startup time to mere seconds.
-
Accessibility: Users have access to a machine type with a “prebuild ready” tag which would help them boot up their environment at a faster pace.
-
The burden on repository: With the introduction of GitHub actions workflows that will be managed by the Codespaces service, the burden on repository admins around managing action version updates for each prebuilt branch is reduced.
-
Smooth: A seamless configuring experience helps users to easily set up and manage prebuilt configurations for different branches and regions.
How does prebuild templates work?
In the beta version, repository admins can create specific configurations for certain regions in their repository. The prebuilds configuration leads to an associated Github actions workflow tab, under Codespaces service that manages the prebuilding of the
devcontainer configuration
. In case of failures, each workflow can provide a set of logs to help with debugging.
All one needs to do is request for a template and the service will find one and attach it to an existing virtual machine. This significantly reduces processing time for the creation of a codespace. To make any changes in the template, one can access the devcontainer configuration with a pull request.
GitHub’s long game
GitHub offers pretrained templates for public access and can be re-configured as per the user’s needs. The repository also provides the ability to access any patch of code at any given time in the Codespace environment.
Popular prebuilt templates available on GitHub include:
jrbeverly/Codespace
– Prebuilt, development environment in the browser – powered by VS Code.
processone/docker-build
– Prebuilt images to use in Github Actions and Github Codespaces as dev environment basis.
examples/go
– A template used for go(Golang) projects.
dynamicwebpaige/codespaces-ml-template
– A template for ML projects with VS Code.
AIM discovers new ideas and breakthroughs that create new relationships, new industries, and new ways of thinking. AIM is the crucial source of knowledge and concepts that make sense of a reality that is always changing.
Our discussions shed light on how technology is transforming many facets of our life, from business to society to culture.