File: //usr/local/wp/vendor/wp-cli/scaffold-command/templates/plugin-bitbucket.mustache
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'