wordpress-event-bridge-for-.../.forgejo/workflows/phpunit.yml
André Menrath 712e56c87e
All checks were successful
PHP Code Checker / PHP Code Checker (push) Successful in 34s
PHPUnit / PHPUnit – PHP 8.1 (push) Successful in 58s
PHPUnit / PHPUnit – PHP 8.2 (push) Successful in 57s
PHPUnit / PHPUnit – PHP 8.3 (push) Successful in 54s
Improve Actions (#27)
Try to make caching in Forgejo Actions work.

Reviewed-on: Event-Federation/wordpress-activitypub-event-extensions#27
Co-authored-by: André Menrath <andre.menrath@posteo.de>
Co-committed-by: André Menrath <andre.menrath@posteo.de>
2024-09-21 14:06:11 +02:00

79 lines
2.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: PHPUnit
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-version: ['8.1', '8.2', '8.3']
name: PHPUnit PHP ${{ matrix.php-version }}
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-phpunit
uses: https://code.forgejo.org/actions/cache@v4
with:
path: |
./vendor/
key: cache-composer-phpunit-1
- name: Setup PHP
uses: https://github.com/shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
tools: composer
env:
runner: self-hosted
- name: Install PHPUnit and PHPUnit-Polyfills
if: steps.cache-composer-phpunit.outputs.cache-hit != 'true'
run: composer require --dev yoast/phpunit-polyfills:"^3.0"
- 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 false false false false
- name: Initialize 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
- name: Unit Testing
run: cd /workspace/Event-Federation/wordpress-activitypub-event-extensions/ && ./vendor/bin/phpunit
env:
PHP_VERSION: ${{ matrix.php-version }}