Improving the contributor experience: GitHub Codespaces for WordPress Core

tl;dr: With the announcement of 60 hours of free usage per month per individual user, I’m looking to make wordpress/wordpress-develop usable in GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. Codespaces with an initial target audience of folks getting started with contributing to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. on a Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of There are many teams that people can participate in, each with a different focus. This seems to mostly be a matter of making decisions about our container setup(s).

At the WCUS Contributor Day recently, I was one of those people who was not at all prepared with a local development environment and spent nearly the entire morning on very slow wifi waiting for various things to finish downloading and getting installed. I remembered that about a year ago a few of us had started taking a look at getting WordPress running on Codespaces and generally succeeded, but hadn’t come up with a long-term stable solution to scale to the size and needs of our community. This experience reminded me that as a project we should take a look at making it ever-easier to contribute to WordPress, and a remote development option is a good thing to have in our toolkit. This allows contributors to get started with minimal setup and without the requirement of a desktop/laptop – you could patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. and test WordPress from a tablet or your phone.

Disclaimer that I personally do work at GitHub today (not on the Codespaces product), and that there are other products out there as well (see this issue in the Gutenberg repo). I think we’d do well to have more than one option available, whether via adaptation or writing guides, but I’d like to start with targeting Codespaces for its integration with other parts of GitHub contributors can use as a part of their flow, such as pull requests and CI via Actions. Here is an old branch of mine that was testing out getting wordpress/wordpress-develop working as a reference.

I will be coordinating with some other WordPress maintainers as well as relevant GitHub folks, and would like to solicit the following by posting this:

  • Interest from anyone who’d like to help out, in particular if you have experience with remote dev environments and/or containers
  • Comments/questions/concerns about creating a paved path for contributors on remote dev environments