name: Unit Testing on: push: branches: - main pull_request: env: WP_TESTS_DIR: /workspace/wordpress-test-lib WP_CORE_DIR: /workspace/wordpress jobs: phpunit: runs-on: ubuntu-latest services: mysql: image: mariadb env: MYSQL_ROOT_PASSWORD: root strategy: matrix: php-versions: ['8.1'] name: Run phpunit tests env: extensions: mysql key: cache-v1 steps: - name: Checkout uses: https://code.forgejo.org/actions/checkout@v4 - name: Cache WordPress Setup id: cache-wordpress uses: https://code.forgejo.org/actions/cache@v4 with: path: | ${{ env.WP_CORE_DIR }} ${{ env.WP_TESTS_DIR }} key: cache-wordpress-1 - name: Cache Composer id: cache-composer uses: https://code.forgejo.org/actions/cache@v4 with: path: | ./vendor/ /root/.cache/composer/ /usr/local/bin/composer key: cache-composer-3 - name: Setup PHP uses: https://github.com/shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} coverage: none tools: composer env: runner: self-hosted - name: Install Composer dependencies for PHP if: steps.cache-composer.outputs.cache-hit != 'true' uses: ramsey/composer-install@v3 - name: Install and Cache mysqladmin needed to initialize the Test Database uses: https://github.com/awalsh128/cache-apt-pkgs-action@latest with: packages: mysql-client version: 1.0 - name: Setup Test Environment if: steps.cache-wordpress.outputs.cache-hit != 'true' run: bash bin/install-wp-tests.sh wordpress_test root root 127.0.0.1 6.6 - name: Setup WordPress Test Database if: steps.cache-wordpress.outputs.cache-hit != 'false' run: bash bin/install-wp-tests.sh wordpress_test root root 127.0.0.1 6.6 false true true true - run: composer show -i - name: Unit Testing run: cd /workspace/Event-Federation/wordpress-activitypub-event-extensions/ && ./vendor/bin/phpunit env: PHP_VERSION: ${{ matrix.php-versions }}