name: Unit Testing on: push: branches: - main pull_request: jobs: phpunit: runs-on: ubuntu-latest services: mysql: image: 'mariadb:10.7' env: MYSQL_ROOT_PASSWORD: root ports: - 3306:3306 strategy: matrix: php-versions: ['8.1'] wp-version: [latest] name: Run phpunit tests env: extensions: mysql key: cache-v1 steps: - name: Checkout uses: https://code.forgejo.org/actions/checkout@v4 - name: Setup cache environment id: extensioncache uses: https://github.com/shivammathur/cache-extensions@v1 with: php-version: ${{ matrix.php-versions }} extensions: ${{ env.extensions }} key: ${{ env.key }} - name: Cache extensions uses: https://code.forgejo.org/actions/cache@v4 with: path: ${{ steps.extensioncache.outputs.dir }} key: ${{ steps.extensioncache.outputs.key }} restore-keys: ${{ steps.extensioncache.outputs.key }} - name: Setup PHP uses: https://github.com/shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} coverage: none tools: composer, phpunit-polyfills - name: Install Composer dependencies for PHP uses: "ramsey/composer-install@v1" - name: Install mysqladmin run: sudo apt update && sudo apt upgrade && sudo apt -y install mysql-client - name: Setup Test Environment run: bash bin/install-wp-tests.sh wordpress_test root root 127.0.0.1 ${{ matrix.wp-version }} - name: Unit Testing run: ./vendor/bin/phpunit env: PHP_VERSION: ${{ matrix.php-versions }}