PHP 8.4 #774
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
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow | |
name: Test | |
on: # yamllint disable-line rule:truthy | |
pull_request: | |
paths: | |
- 'src/**' | |
- 'includes/**' | |
- 'tests/**' | |
- 'composer.json' | |
- '.github/workflows/test.yaml' | |
push: | |
paths: | |
- 'src/**' | |
- 'includes/**' | |
- 'tests/**' | |
- 'composer.json' | |
- '.github/workflows/test.yaml' | |
branches: | |
- "master" | |
permissions: | |
contents: "read" | |
concurrency: | |
group: "${{ github.workflow }}-${{ github.ref }}" | |
cancel-in-progress: true | |
jobs: | |
test: | |
strategy: | |
matrix: | |
php_version: [ '8.0', '8.1', '8.2', '8.3', '8.4' ] | |
suite: | |
- acceptance | |
- climodule | |
- functional | |
- muloader | |
- unit --skip-group=slow | |
- unit --group=isolated-1 | |
- unit --group=isolated-2 | |
# - webdriver # Disabled until the webdriver tests are fixed. | |
- wpcli_module | |
- wploader_multisite | |
- wploader_wpdb_interaction | |
- wploadersuite | |
name: ${{ matrix.suite }} php@${{ matrix.php_version }} | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php_version }} | |
extensions: uopz, sqlite3, gd | |
ini-values: post_max_size=256M, max_execution_time=180, uopz.exit=1 | |
tools: composer | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: | | |
echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Restore Composer dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ matrix.php_version }}-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-composer- | |
- name: Get the vendor/bin directory path | |
id: vendor-bin-dir | |
run: | | |
echo "dir=${{ github.workspace }}/vendor/bin" >> $GITHUB_OUTPUT | |
- name: Ensure the vendor/bin directory exists | |
run: mkdir -p ${{ steps.vendor-bin-dir.outputs.dir }} | |
- name: Restore vendor/bin from cache | |
uses: actions/cache@v3 | |
id: vendor-bin-dir-cache | |
with: | |
path: ${{ steps.vendor-bin-dir.outputs.dir }} | |
key: ${{ runner.os }}-chromedriver-${{ steps.chrome-version.outputs.version }} | |
restore-keys: | | |
${{ runner.os }}-chromedriver- | |
- name: Install dependencies | |
run: composer update | |
- name: Update ChromeDriver if required | |
if: steps.vendor-bin-dir-cache.outputs.cache-hit != 'true' | |
run: vendor/bin/codecept chromedriver:update --binary /usr/bin/google-chrome | |
- name: Create var/wordpress directory | |
run: mkdir -p var/wordpress | |
- name: Start services | |
run: vendor/bin/codecept dev:start | |
- name: Setup WordPress | |
run: php bin/setup-wp.php | |
- name: Run tests | |
id: test | |
run: vendor/bin/codecept run ${{ matrix.suite }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: ${{ matrix.suite }}-php@${{ matrix.php_version }}-screenshots | |
path: | | |
var/_output/*.html | |
var/_output/*.png | |
retention-days: 3 |