pipelines: default: - step: image: php:7.4 name: "PHP 7.4" script: # Install Dependencies - apt-get update && apt-get install -y subversion git zip libzip-dev --no-install-recommends # PHP extensions - docker-php-ext-install -j$(nproc) mysqli pdo_mysql zip # Setup WordPress tests - bash bin/install-wp-tests.sh wordpress_tests root root 127.0.0.1 latest true # Install Composer - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - php composer-setup.php --install-dir=/usr/local/bin --filename=composer - php -r "unlink('composer-setup.php');" - export PATH="$PATH:$HOME/.composer/vendor/bin" - export COMPOSER_ALLOW_SUPERUSER=1 # Install PHPUnit - PHPUNIT_VERSION=9.6.19 - curl -o /usr/local/bin/phpunit "https://phar.phpunit.de/phpunit-${PHPUNIT_VERSION}.phar" && chmod +x /usr/local/bin/phpunit - composer global require yoast/phpunit-polyfills - export WP_TESTS_PHPUNIT_POLYFILLS_PATH="$HOME/.composer/vendor/yoast/phpunit-polyfills" - phpunit --version # Install PHPCS and WPCS - composer global config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true - composer global require "wp-coding-standards/wpcs" - composer global require "phpcompatibility/phpcompatibility-wp" - phpcs --version # Run PHPCS - phpcs # Run PHPUnit - phpunit services: - database - step: image: php:8.0 name: "PHP 8.0" script: # Install Dependencies - apt-get update && apt-get install -y subversion git zip libzip-dev --no-install-recommends # PHP extensions - docker-php-ext-install -j$(nproc) mysqli pdo_mysql zip # Setup WordPress tests - bash bin/install-wp-tests.sh wordpress_tests root root 127.0.0.1 latest true # Install Composer - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - php composer-setup.php --install-dir=/usr/local/bin --filename=composer - php -r "unlink('composer-setup.php');" - export PATH="$PATH:$HOME/.composer/vendor/bin" - export COMPOSER_ALLOW_SUPERUSER=1 # Install PHPUnit - PHPUNIT_VERSION=9.6.19 - curl -o /usr/local/bin/phpunit "https://phar.phpunit.de/phpunit-${PHPUNIT_VERSION}.phar" && chmod +x /usr/local/bin/phpunit - composer global require yoast/phpunit-polyfills - export WP_TESTS_PHPUNIT_POLYFILLS_PATH="$HOME/.composer/vendor/yoast/phpunit-polyfills" - phpunit --version # Install PHPCS and WPCS - composer global config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true - composer global require "wp-coding-standards/wpcs" - composer global require "phpcompatibility/phpcompatibility-wp" - phpcs --version # Run PHPCS - phpcs # Run PHPUnit - phpunit services: - database - step: image: php:8.2 name: "PHP 8.2" script: # Install Dependencies - apt-get update && apt-get install -y subversion git zip libzip-dev --no-install-recommends # PHP extensions - docker-php-ext-install -j$(nproc) mysqli pdo_mysql zip # Setup WordPress tests - bash bin/install-wp-tests.sh wordpress_tests root root 127.0.0.1 latest true # Install Composer - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" - php composer-setup.php --install-dir=/usr/local/bin --filename=composer - php -r "unlink('composer-setup.php');" - export PATH="$PATH:$HOME/.composer/vendor/bin" - export COMPOSER_ALLOW_SUPERUSER=1 # Install PHPUnit - PHPUNIT_VERSION=9.6.19 - curl -o /usr/local/bin/phpunit "https://phar.phpunit.de/phpunit-${PHPUNIT_VERSION}.phar" && chmod +x /usr/local/bin/phpunit - composer global require yoast/phpunit-polyfills - export WP_TESTS_PHPUNIT_POLYFILLS_PATH="$HOME/.composer/vendor/yoast/phpunit-polyfills" - phpunit --version # Install PHPCS and WPCS - composer global config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true - composer global require "wp-coding-standards/wpcs" - composer global require "phpcompatibility/phpcompatibility-wp" - phpcs --version # Run PHPCS - phpcs # Run PHPUnit - phpunit services: - database definitions: services: database: image: mysql:latest environment: MYSQL_DATABASE: 'wordpress_tests' MYSQL_ROOT_PASSWORD: 'root'