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

WordPress Trac noreply at wordpress.org
Wed May 16 13:17:19 UTC 2018


#43711: Let's create a standard development setup for WordPress core.
------------------------------+------------------------------
 Reporter:  omarreiss         |       Owner:  (none)
     Type:  enhancement       |      Status:  new
 Priority:  normal            |   Milestone:  Awaiting Review
Component:  Build/Test Tools  |     Version:  trunk
 Severity:  normal            |  Resolution:
 Keywords:                    |     Focuses:
------------------------------+------------------------------

Comment (by netweb):

 > 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.

 * A make/core post here has just been posted on the
 [https://make.wordpress.org/core/2018/05/16/preparing-wordpress-for-a
 -javascript-future-part-1-build-step-and-folder-reorganization/ above
 subject] and it is an important aspect to take into consideration, having
 access to a https://en.wikipedia.org/wiki/Command-line_interface (CLI) to
 run `grunt watch` and `grunt build` tasks will be an important part of the
 WordPress development workflow.

 * WordPress will also soon begin moving away from Grunt to ''npm scripts''
 and ''webpack'', see #43731

 * WordPress' CLI commands and scripts will need to be compatible with Mac,
 Windows, and *nix operating systems


 ----

 Here are a few of the wishlist requirements I see whilst wearing my
 ''"Build Tools Component Maintainer Hat"''


 * [https://getcomposer.org/ Composer] is required as this was recently
 added in #43558 for [https://github.com/squizlabs/PHP_CodeSniffer PHPCS]
 support

 * Support multiple versions of MySQL and MariaDB for testing #30462 #42811

 * Support multiple versions of PHPUnit for testing (Legacy PHP versions
 required legacy PHPUnit versions) #43218

 * Support multiple versions of PHP for testing, Travis CI ended support of
 PHP 5.2 and PHP 5.3 in September 2017 and WordPress is only able to use
 Travis CI builds on Ubuntu 12.04 LTS servers that no longer receive
 updates #41292.

 This last item here is the most important here, there are a not many
 options available to us apart from a using a custom Docker image with
 Travis CI, at the moment Gutenberg is using
 [https://github.com/WordPress/gutenberg/commit/3c3427472fadd4696347956b3b3e409bd21d606d
 these] scripts to manually install PHP 5.2 & 5.3 versions for Travis CI
 though they are quite fragile.

 Also in #41292 @miyauchi
 [https://core.trac.wordpress.org/ticket/41292#comment:37 created a Docker
 image] supporting PHP 5.2 - 7.1 and PHPUnit, this now supports PHP 7.2 as
 can be seen in the GitHub repo [https://github.com/miya0001/docker-phpenv
 here], it was a great first step into exploring the potential of a Docker
 solution for Travis CI.

 ----

 * Docker can be run on Mac, Windows, and *nix platforms

 * WordPress can have a purpose-built Travis CI environment

 * The same purpose-built Travis CI environment can be used locally

 * A standardised "base" WordPress development environment

 * Existing Vagrant based solutions can use the Docker for
 [https://www.vagrantup.com/docs/provisioning/docker.html provisioning
 images] instead of VirtualBox VMs

 * Existing Docker solutions can use the images as their base images

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


More information about the wp-trac mailing list