Make WordPress Core

Changeset 53895


Ignore:
Timestamp:
08/13/2022 11:23:26 PM (2 years ago)
Author:
johnbillion
Message:

Build/Test Tools: Move the Memcached container into the Docker Compose config.

This allows a developer to use the persistent Memcached object cache on their local development environment via the LOCAL_PHP_MEMCACHED environment variable.

Enable the memcached config via LOCAL_PHP_MEMCACHED=true in the .env file and then restart the environment with npm run env:restart.

Fixes #55700

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/.github/workflows/phpunit-tests.yml

    r53736 r53895  
    4747  # - Logs Docker debug information (about the Docker installation within the runner).
    4848  # - Starts the WordPress Docker container.
    49   # - Starts the Memcached server after the Docker network has been created (if desired).
    5049  # - Logs general debug information about the runner.
    5150  # - Logs the running Docker containers.
     
    160159          npm run env:start
    161160
    162       # The memcached server needs to start after the Docker network has been set up with `npm run env:start`.
    163       - name: Start the Memcached server.
    164         if: ${{ matrix.memcached }}
    165         run: |
    166           cp tests/phpunit/includes/object-cache.php src/wp-content/object-cache.php
    167           docker run --name memcached --net $(basename "$PWD")_wpdevnet -d memcached
    168 
    169161      - name: General debug information
    170162        run: |
  • trunk/docker-compose.yml

    r53636 r53895  
    4949      - ./tools/local-env/php-config.ini:/usr/local/etc/php/conf.d/php-config.ini
    5050      - ./:/var/www
     51
     52    # Copy or delete the Memcached dropin plugin file as appropriate.
     53    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"
    5154
    5255    depends_on:
     
    105108      - localhost:host-gateway
    106109
     110  ##
     111  # The Memcached container.
     112  ##
     113  memcached:
     114    image: memcached
     115
     116    networks:
     117      - wpdevnet
     118
     119    ports:
     120      - 11211:11211
     121
    107122volumes:
    108123  # So that sites aren't wiped every time containers are restarted, MySQL uses a persistent volume.
  • trunk/tools/local-env/scripts/start.js

    r53358 r53895  
    1010
    1111// Start the local-env containers.
    12 execSync( 'docker-compose up -d wordpress-develop', { stdio: 'inherit' } );
     12const containers = ( process.env.LOCAL_PHP_MEMCACHED === 'true' )
     13    ? 'wordpress-develop memcached'
     14    : 'wordpress-develop';
     15execSync( `docker-compose up -d -- ${containers}`, { stdio: 'inherit' } );
    1316
    1417// If Docker Toolbox is being used, we need to manually forward LOCAL_PORT to the Docker VM.
Note: See TracChangeset for help on using the changeset viewer.