Skip to content

Merge branch 'main' into fix/codeql-alerts #22

Merge branch 'main' into fix/codeql-alerts

Merge branch 'main' into fix/codeql-alerts #22

Workflow file for this run

name: E2E
on:
workflow_dispatch:
push:
paths:
- 'tests/e2e/**'
- '.github/workflows/e2e.yml'
permissions:
contents: read
jobs:
e2e:
name: Playwright E2E (Pantheon multidev)
runs-on: ubuntu-latest
defaults:
run:
working-directory: tests/e2e
env:
TERMINUS_SITE: ${{ vars.E2E_TERMINUS_SITE }}
TERMINUS_SOURCE_ENV: ${{ vars.E2E_TERMINUS_SOURCE_ENV || 'dev' }}
TERMINUS_HIDE_UPDATE_MESSAGE: '1'
WP_USER: ${{ secrets.E2E_WP_USER }}
WP_PASSWORD: ${{ secrets.E2E_WP_PASSWORD }}
HEADLESS: 'true'
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Set up PHP (for Terminus)
uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 # v2
with:
php-version: '8.3'
- name: Set up Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 20
- name: Install Terminus
run: |
curl -L https://github.com/pantheon-systems/terminus/releases/latest/download/terminus.phar -o /tmp/terminus
chmod +x /tmp/terminus
sudo mv /tmp/terminus /usr/local/bin/terminus
terminus --version
- name: Authenticate Terminus
env:
TERMINUS_TOKEN: ${{ secrets.TERMINUS_TOKEN }}
run: terminus auth:login --machine-token="$TERMINUS_TOKEN"
- name: Configure SSH for Pantheon (git/SFTP)
env:
PANTHEON_SSH_KEY: ${{ secrets.PANTHEON_SSH_KEY }}
run: |
mkdir -p ~/.ssh
printf '%s\n' "$PANTHEON_SSH_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
- name: Install dependencies
run: npm ci
- name: Install Playwright browser
run: npx playwright install --with-deps chromium
- name: Run E2E
run: npm test
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: playwright-report
path: tests/e2e/playwright-report/
retention-days: 7
- name: Upload test results (screenshots, videos, traces)
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: test-results
path: tests/e2e/test-results/
retention-days: 7