Make WordPress Core


Ignore:
Timestamp:
06/06/2024 04:34:11 PM (6 months ago)
Author:
desrosj
Message:

Build/Test Tools: Make use of new reusable workflows for 5.9.

This updates the 5.9 branch to utilize the new reusable workflows in trunk introduced in [58165].

This also includes backports for a some additional improvements and bug fixes that are necessary for the local development environment to continue working long term:

  • The image and platform properties for the mysql container have been updated to always prefer amd64 containers (#60822).
  • macos-13 is now pinned for MacOS jobs instead of macos-latest (#61340).
  • Run E2E tests with and without SCRIPT_DEBUG (#58661).
  • Migrating to Docker Compose V2 (#60901).
  • Removing the version property from docker-compose.yml (#59416).
  • Improvements to how artifacts and comments for Playground testing are generated.
  • Removing SVN related commands causing failures (#61216).
  • Updating the actions/github-scripts action to the latest version.
  • Move the Memcached container into the Docker Compose config (#55700).
  • Configure Xdebug modes in the local Docker environment (#56022).

Merges [53895], [53552], [56113], [56114], [57918], [58157], [57124], [57125], [57249] to the 5.9 branch.

Props johnbillion, joemcgill, swissspidy, thelovekesh, narenin, mukesh27, JeffPaul, peterwilsoncc, zieladam, ockham, SergeyBiryukov, jorbin, Clorith, afragen.
See #55700, #61340, #60822, #61216, #60901, #61101, #59416, #59805, #61213, #58661.

Location:
branches/5.9
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/5.9

  • branches/5.9/docker-compose.yml

    r53351 r58358  
    1 version: '3.7'
    2 
    31services:
    42
     
    2624
    2725    depends_on:
    28       - php
     26      php:
     27        condition: service_started
     28      mysql:
     29        condition: service_healthy
    2930
    3031  ##
     
    3940    environment:
    4041      - LOCAL_PHP_XDEBUG=${LOCAL_PHP_XDEBUG-false}
     42      - XDEBUG_MODE=${LOCAL_PHP_XDEBUG_MODE-develop,debug}
    4143      - LOCAL_PHP_MEMCACHED=${LOCAL_PHP_MEMCACHED-false}
    4244      - PHP_FPM_UID=${PHP_FPM_UID-1000}
     
    4951      - ./:/var/www
    5052
    51     depends_on:
    52       - mysql
     53    # Copy or delete the Memcached dropin plugin file as appropriate.
     54    command: /bin/sh -c "if [ $LOCAL_PHP_MEMCACHED = true ]; then cp -n /var/www/tests/phpunit/includes/object-cache.php /var/www/src/wp-content/object-cache.php; else rm -f /var/www/src/wp-content/object-cache.php; fi && exec php-fpm"
     55
     56    # The init directive ensures the command runs with a PID > 1, so Ctrl+C works correctly.
     57    init: true
     58
     59    extra_hosts:
     60      - localhost:host-gateway
    5361
    5462  ##
     
    5765  mysql:
    5866    image: ${LOCAL_DB_TYPE-mysql}:${LOCAL_DB_VERSION-latest}
     67    platform: linux/amd64
    5968
    6069    networks:
     
    7382    # For compatibility with PHP versions that don't support the caching_sha2_password auth plugin used in MySQL 8.0.
    7483    command: --default-authentication-plugin=mysql_native_password
     84
     85    healthcheck:
     86      test: [ "CMD-SHELL", "if [ \"$LOCAL_DB_TYPE\" = \"mariadb\" ]; then mariadb-admin ping -h localhost; else mysqladmin ping -h localhost; fi" ]
     87      timeout: 5s
     88      interval: 5s
     89      retries: 10
    7590
    7691  ##
     
    95110    init: true
    96111
     112    extra_hosts:
     113      - localhost:host-gateway
     114
     115    depends_on:
     116      php:
     117        condition: service_started
     118      mysql:
     119        condition: service_healthy
     120
     121  ##
     122  # The Memcached container.
     123  ##
     124  memcached:
     125    image: memcached
     126
     127    networks:
     128      - wpdevnet
     129
     130    ports:
     131      - 11211:11211
     132
     133    depends_on:
     134      php:
     135        condition: service_started
     136
    97137volumes:
    98138  # So that sites aren't wiped every time containers are restarted, MySQL uses a persistent volume.
Note: See TracChangeset for help on using the changeset viewer.