Skip to content

Add E2E support

Add E2E support #13

Workflow file for this run

name: Test e2e
on:
pull_request:
types: [opened, synchronize, ready_for_review]
branches-ignore:
- "update_dependencies"
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
e2e:
if: github.event.pull_request.draft == false && github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name
name: Playwright E2E tests
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Check out source files
uses: actions/checkout@v2
- name: Get Composer Cache Directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Configure Composer cache
uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install composer deps
run: composer install --no-dev --prefer-dist --no-progress --no-suggest
- name: Install npm deps
run: |
npm ci
npm install -g playwright-cli
npx playwright install --with-deps chromium
- name: Install environment
run: |
cp ./bin/themeisle-sdk.php ./
npm run wp-env start
- name: Run the tests
run: |
npm run test:e2e:playwright
env:
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
- name: Archive test results
if: failure()
uses: actions/upload-artifact@v4
with:
name: e2e-playwright-results
path: artifacts
retention-days: 1
if-no-files-found: ignore