Make WordPress Core

Changeset 57568


Ignore:
Timestamp:
02/08/2024 07:10:10 PM (2 months ago)
Author:
desrosj
Message:

Build/Test Tools: Fix bug pulling local environment containers on Apple silicone.

The MySQL Docker containers for versions 5.7 and below do not support recent Apple silicone chips. Previously this was fixed by including amd64/ as a prefix to the image name in the docker-compose.yml file (see [54096]). However, this stopped working after recent updates to Docker Desktop.

This changeset removes the amd64/ prefix for the image used as the database container and raises the default version of MySQL in the local development environment to the current LTS version (8.0). Because this version is still maintained, there are arm64 containers available to use.

This also documents a new workaround for contributors looking to run the local Docker environment using MySQL 5.7 or earlier, which entails creating a small docker-compose.override.yml.

Props bernhard-reiter, johnbillion, afragen, huzaifaalmesbah.
Fixes #59930.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/.env

    r56453 r57568  
    4747# The database version to use.
    4848#
    49 # Defaults to 5.7 with the assumption that LOCAL_DB_TYPE is set to `mysql` above.
     49# Defaults to 8.0 with the assumption that LOCAL_DB_TYPE is set to `mysql` above.
    5050#
    5151# When using `mysql`, see https://hub.docker.com/r/amd64/mysql for valid versions.
    5252# When using `mariadb`, see https://hub.docker.com/r/amd64/mariadb for valid versions.
    5353##
    54 LOCAL_DB_VERSION=5.7
     54LOCAL_DB_VERSION=8.0
    5555
    5656# The debug settings to add to `wp-config.php`.
  • trunk/README.md

    r57212 r57568  
    119119```
    120120
     121#### Resetting the development environment
     122
     123The development environment can be reset. This will destroy the database and attempt to remove the pulled Docker images.
     124
     125```
     126npm run env:reset
     127```
     128
     129### Apple Silicone machines and old MySQL versions
     130
     131The MySQL Docker images do not support Apple Silicone processors (M1, M2, etc.) for MySQL versions 5.7 and earlier.
     132
     133When using MySQL <= 5.7 on an Apple Silicone machine, you must create a `docker-compose.override.yml` file with the following contents:
     134
     135```
     136services:
     137
     138  mysql:
     139    platform: linux/amd64
     140```
     141
     142Additionally, the "Use Rosetta for x86/AMD64 emulation on Apple Silicon" setting in Docker needs to be disabled for this workaround.
     143
    121144## Credentials
    122145
  • trunk/docker-compose.yml

    r56464 r57568  
    6666  ##
    6767  mysql:
    68     image: amd64/${LOCAL_DB_TYPE-mysql}:${LOCAL_DB_VERSION-latest}
     68    image: ${LOCAL_DB_TYPE-mysql}:${LOCAL_DB_VERSION-latest}
    6969
    7070    networks:
Note: See TracChangeset for help on using the changeset viewer.