add unit test #24
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PHPUnit Tests | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
services: | |
mysql: | |
image: mysql:8.0 | |
env: | |
MYSQL_ROOT_PASSWORD: rootpassword | |
ports: | |
- 3306:3306 # Expose MySQL port | |
options: --health-cmd="mysqladmin ping -h 127.0.0.1" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- name: Setup WordPress Test Suite | |
run: | | |
# Wait for MySQL to be ready | |
until mysqladmin ping -h127.0.0.1 -uroot -prootpassword; do | |
echo "Waiting for MySQL to be ready..." | |
sleep 5 | |
done | |
mkdir -p /home/runner/wordpress-tests | |
cd /home/runner/wordpress-tests | |
git clone --depth=1 https://github.com/WordPress/wordpress-develop.git | |
cd wordpress-develop | |
composer install | |
cp wp-tests-config-sample.php wp-tests-config.php | |
# Update wp-tests-config.php with your database details | |
sed -i "s/database_name_here/wordpress_test/g" wp-tests-config.php | |
sed -i "s/username_here/root/g" wp-tests-config.php | |
sed -i "s/password_here/rootpassword/g" wp-tests-config.php | |
# Create the test database | |
mysql -h127.0.0.1 -uroot -prootpassword -e "CREATE DATABASE wordpress_test;" | |
env: | |
WP_TESTS_PATH: /home/runner/wordpress-tests/wordpress-develop/tests/phpunit | |
- uses: actions/checkout@v2 | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.2' | |
extensions: mbstring, intl, mysqli, zip | |
tools: composer:v2 | |
- name: Install dependencies | |
run: composer install | |
- name: Run PHPUnit tests | |
env: | |
COMPOSER_PROCESS_TIMEOUT: 0 | |
COMPOSER_NO_INTERACTION: 1 | |
COMPOSER_NO_AUDIT: 1 | |
WP_TESTS_PATH: /home/runner/wordpress-tests/wordpress-develop/tests/phpunit | |
WP_PHPUNIT__DIR: /home/runner/wordpress-tests/wordpress-develop/tests/phpunit | |
DB_NAME: wordpress_test | |
DB_USER: root | |
DB_PASSWORD: rootpassword | |
DB_HOST: 127.0.0.1 | |
run: | | |
mysql -h127.0.0.1 -uroot -prootpassword -e 'CREATE DATABASE IF NOT EXISTS wordpress_test;' | |
mysql -h127.0.0.1 -uroot -prootpassword -e "GRANT ALL PRIVILEGES ON wordpress_test.* TO 'root'@'localhost';" | |
mysql -h127.0.0.1 -uroot -prootpassword -e 'FLUSH PRIVILEGES;' | |
vendor/bin/phpunit |