21 Commits

Author SHA1 Message Date
Joe Dolson
0d04972be6 Build/Test: Revert unintentional .env change in [56449].
Also committed a change to .env. Sigh.

Unprops joedolson.
See .

git-svn-id: https://develop.svn.wordpress.org/trunk@56453 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-24 17:33:04 +00:00
Joe Dolson
b21d72b39d Menus: Fix proximity of controls to Save and Delete menus.
Move the position of the Save and Delete buttons in menu editing so they are immediate neighbors, improving the proximity of related controls. 

Props 90lines, sabernhardt, costdev.
See .

git-svn-id: https://develop.svn.wordpress.org/trunk@56449 602fd350-edb4-49c9-b593-d223f7449a82
2023-08-24 15:56:34 +00:00
Felix Arntz
4a16702090 General: Introduce WP_DEVELOPMENT_MODE constant to signify context-specific development mode.
In recent releases, WordPress core added several instances of cache usage around specific files. While those caches are safe to use in a production context, in development certain nuances apply for whether or not those caches make sense to use. Initially, `WP_DEBUG` was used as a temporary workaround, but it was clear that a more granular method to signify a specific development mode was required: For example, caches around `theme.json` should be disabled when working on a theme as otherwise it would disrupt the theme developer's workflow, but when working on a plugin or WordPress core, this consideration does not apply.

This changeset introduces a `WP_DEVELOPMENT_MODE` constant which, for now, can be set to either "core", "plugin", "theme", or an empty string, the latter of which means no development mode, which is also the default. A new function `wp_get_development_mode()` is the recommended way to retrieve that configuration value.

With the new function available, this changeset replaces all existing instances of the aforementioned `WP_DEBUG` workaround to use `wp_get_development_mode()` with a more specific check.

Props azaozz, sergeybiryukov, peterwilsoncc, spacedmonkey.
Fixes .


git-svn-id: https://develop.svn.wordpress.org/trunk@56042 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-26 19:55:28 +00:00
Joe Dolson
a5db7658be Build/Test Tools: Revert accidental change to .env
Follow-up to [55919] to restore .env state.

Props joedolson.
See .

git-svn-id: https://develop.svn.wordpress.org/trunk@55920 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-14 20:44:53 +00:00
Joe Dolson
3a9893b7cc Media: Update admin image editor design.
Significant restructure of the admin image editor interface, but no new functionality. Reorganize editing buttons into a common region at the top of the editor. Move image rotation tools into a pop-out menu. Add 180 degree rotation option. Add scale button to control group. Move sidebar tools next to the editing canvas to improve visual proximity between action and result. Enlarge editing canvas and crop handles. Separate activating crop functions from applying crop. Add numeric inputs for crop & scale values. 

A long term goal is to move undo/redo and cancel/save into the modal title bar, but that is not feasible without significant updates to the modal framework.

Props afercia, karmatosed, nrqsnchz, antpb, chaion07, costdev, peterwilsoncc, antpb, sabernhardt, prashantbhivsane, joedolson.
Fixes .

git-svn-id: https://develop.svn.wordpress.org/trunk@55919 602fd350-edb4-49c9-b593-d223f7449a82
2023-06-14 20:40:42 +00:00
John Blackbourn
d51e65b78f Build/Test Tools: Always use the amd64 images for MariaDB and MySQL on the local development environment.
The `amd64/mysql` and `amd64/mariadb` official images from Docker are also compatible with an x64 host machine which means they can be used by default instead of only when the host uses ARM64.

Props bernhard-reiter, czapla, gmovr, withinboredom

Fixes 


git-svn-id: https://develop.svn.wordpress.org/trunk@54096 602fd350-edb4-49c9-b593-d223f7449a82
2022-09-07 17:13:43 +00:00
Jonathan Desrosiers
c40b46525c Build/Test Tools: Configure Xdebug modes in the local Docker environment.
One change in the update from Xdebug version 2.x to 3.x was a shift from enabling features to switching into modes.

When the version of Xdebug installed in the PHP 7.4 Docker container was updated from 2.x to 3.x, the code coverage reporting workflow stopped generating reports due to a lack of available coverage drivers.

This change adds the `XDEBUG_MODE` environment variable to the local Docker environment configuration to allow the active modes to be changed. This environment variable takes precedence over the `xdebug.mode` setting, but will not change the value of the `xdebug.mode` setting.

The `LOCAL_PHP_XDEBUG_MODE` environment variable has been added to the `.env` file and can be used to change the modes enabled in the Docker container. The code coverage reporting workflow uses this variable to enable the `coverage` mode, which is required for generating a test coverage report.

By default, `debug` and `debug modes are active, which enables the more commonly used features of Xdebug: development helpers and step debugging.

Props afragen, johnbillion, desrosj.
Fixes .

git-svn-id: https://develop.svn.wordpress.org/trunk@53552 602fd350-edb4-49c9-b593-d223f7449a82
2022-06-21 23:45:19 +00:00
Greg Ziółkowski
9a9ec776a8 Env: Revert accidental changes to the config
It's the only way to make the env work locally with Apple M1 processor, but I included them by accident.

Props Mamaduka.
See [53070]. 



git-svn-id: https://develop.svn.wordpress.org/trunk@53071 602fd350-edb4-49c9-b593-d223f7449a82
2022-04-05 09:31:06 +00:00
Greg Ziółkowski
f5cc51c8ca Editor: Fix post lock data inconsistencies
Backporting fixes introduced in WordPress/gutenberg#37914.

Props Mamaduka.
Fixes .



git-svn-id: https://develop.svn.wordpress.org/trunk@53070 602fd350-edb4-49c9-b593-d223f7449a82
2022-04-05 09:19:58 +00:00
Tonya Mork
284764c658 Build/Test Tools: Remove the PHPUnit container from local Docker environment.
This commit:

* Removes the PHPUnit `wordpressdevelop/phpunit` container as a service to the Docker environment.
* Updates `test:php` (the default way to run tests) to run the Composer PHPUnit package  default.
* Removes the `test:php-composer` script.

There is no longer a need for core to keep the `wordpressdevelop/phpunit` container as a service in `docker-compose.yml`. Removing it will reduce the overhead and bandwidth needed to set up WordPress locally and remove confusion about its use.

Follow-up to [45783-45784], [49099], [49362], [51545], [51736], [51685].

Props johnbillion, hellofromTonya.
Fixes .

git-svn-id: https://develop.svn.wordpress.org/trunk@51868 602fd350-edb4-49c9-b593-d223f7449a82
2021-09-24 16:54:42 +00:00
Jonathan Desrosiers
5267e4a40c Build/Test Tools: Use Git when fetching the WordPress Importer for use in tests.
This switches to using Git in the local Docker environment install script to check out a copy of the WordPress Importer plugin for use in unit tests.

Previously, SVN was used and the commands were not correctly run within the Docker container. The container does not actually have SVN installed, and the script was only working when the machine running the command had SVN present.

Props czapla, alexstine, jnylen0, francina, desrosj.
Fixes .

git-svn-id: https://develop.svn.wordpress.org/trunk@51179 602fd350-edb4-49c9-b593-d223f7449a82
2021-06-17 17:57:54 +00:00
Jonathan Desrosiers
6e49ac2e96 Build/Test Tools: Install WordPress Importer plugin when installing the Docker-based local environment.
The WordPress Importer plugin is now downloaded to the `tests/phpunit/data/plugins` directory when running `npm run env:install`.

This ensures that the PHPUnit test suite will not fail when the plugin is missing.

This also introduces a new `WP_IMPORTER_REVISION` variable to the `.env` file, to control the SVN revision that is checked out.

Props johnbillion.
Fixes .

git-svn-id: https://develop.svn.wordpress.org/trunk@50285 602fd350-edb4-49c9-b593-d223f7449a82
2021-02-10 16:52:13 +00:00
Jonathan Desrosiers
3109b32fc9 Build/Test Tools: Support the use of MariaDB in the local Docker environment.
In addition to MySQL, WordPress also supports MariaDB for databases. This makes changes to the local Docker environment to allow MariaDB to be used instead, if desired.

The `LOCAL_DB_TYPE` environment variable will now be used to determine which type of database container to use. This will default to `mysql`, but will also accept `mariadb`.

The `LOCAL_MYSQL` environment variable (which previously held the version of MySQL to use) has been replaced with the new, more generic `LOCAL_DB_VERSION` environment variable.

This change will make it possible to perform automated testing on a wider array of supported database types and versions.

Props davidbaumwald.
Fixes . See .

git-svn-id: https://develop.svn.wordpress.org/trunk@49836 602fd350-edb4-49c9-b593-d223f7449a82
2020-12-18 15:27:33 +00:00
Jonathan Desrosiers
c812f63015 Build/Test Tools: Allow the desired version of PHPUnit to be passed to the local Docker environment.
This reintroduces [49358] with a modification to the `.travis.yml` file to avoid an issue with `dotenv-expand` being unable to expand variables into `process.env` only on Travis.

The `LOCAL_PHPUNIT` environment variabl allows the desired version of PHPUnit to be specified when running the PHP tests within the local Docker environment.

Because support for newer versions of PHPUnit is not backported, some versions of PHP need the ability to run multiple versions of PHPUnit for different branches. This adds the flexibility needed to use the Docker environment within those older branches to run the PHP tests.

Props johnbillion, SergeyBiryukov.
See .

git-svn-id: https://develop.svn.wordpress.org/trunk@49362 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-28 23:15:07 +00:00
Jonathan Desrosiers
26278f14bf Build/Test Tools: Revert [49358] to investigate failures.
Unprops desrosj.
See .

git-svn-id: https://develop.svn.wordpress.org/trunk@49360 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-28 19:42:29 +00:00
Jonathan Desrosiers
a3bd11826a Build/Test Tools: Allow the desired version of PHPUnit to be passed to the local Docker environment.
This change introduces the `LOCAL_PHPUNIT` environment variable that allows the desired version of PHPUnit to be specified when running the PHP tests within the local Docker environment.

Because support for newer versions of PHPUnit is not backported, some versions of PHP need the ability to run multiple versions of PHPUnit for different branches. This adds the flexibility needed to use the Docker environment within those older branches to run the PHP tests.

Props johnbillion.
Fixes .

git-svn-id: https://develop.svn.wordpress.org/trunk@49358 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-28 19:01:19 +00:00
John Blackbourn
dba526205d Build/Test Tools: Set the local development environment to a local environment type by default.
Props igorradovanov, TimothyBlynJacobs

Fixes 

See 


git-svn-id: https://develop.svn.wordpress.org/trunk@49121 602fd350-edb4-49c9-b593-d223f7449a82
2020-10-10 20:13:11 +00:00
Sergey Biryukov
e2748f44f4 Docs: Fix typo in .env file description.
Props mujuonly, dkarfa.
Fixes .

git-svn-id: https://develop.svn.wordpress.org/trunk@47021 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-30 13:46:17 +00:00
Gary Pendergast
13d356691b Build Tools: Miscellaneous local-env improvements.
- Move the functionality for controlling `local-env` out of `package.json`, into JS scripts.
- Merge the `docker-compose` config files, and move it to the root directory. This allows `docker-compose.override.yml` to work for local overrides.
- Fix nginx redirecting to port 80 under some circumstances.
- `npm run env:install` now creates `wp-tests.config.php` for you.
- Cleaned up a bunch of cruft in `.travis.yml`.

See .



git-svn-id: https://develop.svn.wordpress.org/trunk@45783 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-12 08:28:33 +00:00
Gary Pendergast
4271f1aeca Build Tools: Switch all Travis PHPUnit jobs over to Docker-based PHP.
Additionally, there are a handful of related minor changes in this commit:
- `.travis.yml` has been tidied up a little.
- [45745] was incorrectly marking Travis jobs as passed when some PHPUnit runs failed.
- Add the `LOCAL_PHP_MEMCACHED` environment variable, for enabling Memcached.
- Add the `env:pull` NPM script, for refreshing Docker images.

See .


git-svn-id: https://develop.svn.wordpress.org/trunk@45762 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-07 11:54:22 +00:00
Gary Pendergast
82d7870fe4 Build Tools: Add a WordPress Development Environment.
This commit adds the first iteration of a Docker-based config for setting up a local WordPress development environment.

Props pento, noisysocks, mcsf, pbearne, isabel_brison.
See .



git-svn-id: https://develop.svn.wordpress.org/trunk@45745 602fd350-edb4-49c9-b593-d223f7449a82
2019-08-05 07:09:14 +00:00