File: //usr/local/wp/vendor/wp-cli/scaffold-command/templates/plugin-gitlab.mustache
variables:
# Configure mysql service (https://hub.docker.com/_/mysql/)
MYSQL_DATABASE: wordpress_tests
MYSQL_ROOT_PASSWORD: mysql
before_script:
# Install dependencies
# Update the docker
- apt-get -yqq update
- apt-get -yqqf install zip unzip subversion default-mysql-client default-libmysqlclient-dev --fix-missing
# PHP extensions
- docker-php-ext-install -j$(nproc) mysqli pdo_mysql
# Setup WordPress tests
- bash bin/install-wp-tests.sh wordpress_tests root mysql mysql 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"
# 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
PHPunit:PHP7.4:MySQL:
image: php:7.4-bullseye
services:
- mysql:5.7
script:
- phpcs
- phpunit
PHPunit:PHP8.0:MySQL:
image: php:8.0-bullseye
services:
- mysql:5.7
script:
- phpcs
- phpunit
PHPunit:PHP8.2:MySQL:
image: php:8.2-bullseye
services:
- mysql:5.7
script:
- phpcs
- phpunit