[wp-trac] [WordPress Trac] #43711: Let's create a standard development setup for WordPress core.

WordPress Trac noreply at wordpress.org
Fri Apr 6 14:28:32 UTC 2018


#43711: Let's create a standard development setup for WordPress core.
------------------------------+-----------------------------
 Reporter:  omarreiss         |      Owner:
     Type:  enhancement       |     Status:  new
 Priority:  normal            |  Milestone:  Awaiting Review
Component:  Build/Test Tools  |    Version:  trunk
 Severity:  normal            |   Keywords:
  Focuses:                    |
------------------------------+-----------------------------
 ^This ticket was triggered by previous discussion in
 https://core.trac.wordpress.org/ticket/43055^
 The current default for developing WordPress core seems to be VVV. While
 VVV is doing a great job in making it easier to run WordPress locally, I
 think we could do better, especially for WordPress core.

 With this ticket I would like to set a goal for improvement and discuss
 ways to achieve it.

 == The goal: a simple, two-step process for setting up a WordPress core
 development environment ==

 The simplest development setup workflow I can think of consists just of
 two simple steps:

 '''''Download and boot'''''

 That's how simple it should (eventually) be. WordPress should now be
 running on some local address and every developer should be able to dive
 in the code and make changes.

 == Integrating watch and build behavior ==

 As we plan to [https://core.trac.wordpress.org/ticket/43055 introduce a
 build step to the development workflow], it becomes more important that
 building is not an afterthought but something that is integrated into the
 development workflow.

 The desirable state is one in which we just boot and can trust all changes
 are processed to whatever's being served in the browser.

 This unfortunately is not the case at the moment. If we want to do better,
 we need a more unified approach.

 == Requirements ==

 We need something that is:
 - the easiest possible development workflow: just download and boot.
 - fast: reduce build and boot times to a minimum.
 - reliable: it should just work.

 @pento noted that eventually he'd like this thing to be configurable and
 installable through a GUI in order to reduce the barrier of entry for new
 contributors to the absolute minimum.

 == Possible solutions ==

 === Docker install script ===

 @pento built automated development environment setup scripts for Gutenberg
 based on Docker.
 > The Gutenberg setup script walks the user through setting up their
 development environment. It would obviously need to be written to work on
 Windows, too, before it was a valid option for Core. That will be fun. 🙂

 There are a few benefits to using a Docker based environment.
 - It's fast
 - It's composable
 - It only requires Docker

 Aside: If we get good and well maintained Docker images for WordPress,
 this could also benefit the web hosting community, will make WordPress
 more optimized for cloud native hosting infrastructures, could also help
 optimize WordPress unit testing in container based CI solutions like
 Travis etc.

 === VVV install script ===

 @TJNowell noted similar advantages might also be achieved with VVV

 > I see no reason the docker call in the GB script couldn't be a git clone
 ... cd vvv.. vagrant up --provision

 Of course VVV and the community behind it include a great deal of
 experience with regard to the intricacies of creating the development
 environment for WordPress.

 If we can make it easy, fast and reliable enough, that might just be what
 we need!

--
Ticket URL: <https://core.trac.wordpress.org/ticket/43711>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list