Skip to content

Refactor to extract Abilities base class #436

Refactor to extract Abilities base class

Refactor to extract Abilities base class #436

Workflow file for this run

name: E2E Tests
on:
pull_request:
branches: [trunk]
push:
branches: [trunk]
# Allow manually triggering the workflow
workflow_dispatch:
# Cancels all previous workflow runs for pull requests that have not completed
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
# Disable permissions for all available scopes by default
permissions: {}
jobs:
test:
name: Node ${{ matrix.node }} / WP ${{ matrix.wp }}
runs-on: ubuntu-latest
permissions:
contents: read
strategy:
fail-fast: false
matrix:
event: ['${{ github.event_name }}']
node: ['22', '24']
wp: ['latest', 'trunk']
exclude:
# On PRs: only test Node 22 + WP trunk
# TODO: Revert to WP latest on PRs once WP 6.9 is released with the Abilities API
- event: 'pull_request'
node: '24'
- event: 'pull_request'
wp: 'latest'
env:
WP_ENV_CORE: ${{ matrix.wp == 'trunk' && 'WordPress/WordPress' || null }}
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- name: Install dependencies
run: |
npm ci
composer install --prefer-dist --no-progress
- name: Npm build with coverage instrumentation
env:
COVERAGE_ENABLED: true
run: npm run build
- name: Install wp-env
run: npm install -g @wordpress/env
- name: Start wp-env
run: wp-env start
- name: Install Playwright browsers
run: npx playwright install --with-deps
- name: Run e2e tests with coverage
run: npm run test:e2e:coverage
- name: Generate LCOV report from Istanbul coverage
if: always()
run: npm run test:e2e:coverage:report
- name: Upload E2E Coverage to Codecov
if: always()
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/lcov.info
flags: e2e
slug: WordPress/secure-custom-fields
name: e2e-coverage
- name: Stop wp-env
if: always()
run: wp-env stop