Skip to content

Removed submodule shared-plugins/jetpack-force-2fa #7498

Removed submodule shared-plugins/jetpack-force-2fa

Removed submodule shared-plugins/jetpack-force-2fa #7498

Workflow file for this run

name: Run e2e tests
on:
pull_request:
workflow_dispatch:
inputs:
wpversion:
description: 'WordPress version to run tests against'
required: false
default: 'latest'
url:
description: 'Alternative Test URL'
required: false
default: ''
user:
description: 'Alternative User Name'
required: false
default: ''
password:
description: 'Alternative Password'
required: false
default: ''
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
env:
DO_NOT_TRACK: "1"
jobs:
Run_e2e_tests:
name: Run E2E Tests
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@v2
with:
egress-policy: block
allowed-endpoints:
1.gravatar.com:80
2.gravatar.com:80
api.github.com:443
api.wordpress.org:443
artifactcache.actions.githubusercontent.com:443
auth.docker.io:443
dl-cdn.alpinelinux.org:443
docker.io:443
downloads.wordpress.org:443
e2e-test-site.vipdev.lndo.site:443
geoip.elastic.co:443
ghcr.io:443
github.com:443
nodejs.org:443
objects.githubusercontent.com:443
pkg-containers.githubusercontent.com:443
planet.wordpress.org:443
playwright.azureedge.net:443
production.cloudflare.docker.com:443
public-api.wordpress.com:443
registry-1.docker.io:443
registry.npmjs.org:443
s.w.org:443
storage.googleapis.com:443
vaultpress.com:443
wordpress.org:443
- name: Check out repository code
uses: actions/checkout@v4.1.5
with:
submodules: true
- name: Prepare source code
uses: ./.github/actions/prepare-source
- name: Setup Node
uses: actions/setup-node@v4.0.2
with:
node-version: 'lts/*'
cache: npm
cache-dependency-path: __tests__/e2e/package-lock.json
- name: Install dependencies
run: npm ci
working-directory: __tests__/e2e
- name: Install Playwright with Chromium
run: npx playwright install chromium
working-directory: __tests__/e2e
- name: Install VIP CLI
run: npm install -g @automattic/vip
- name: Determine WP version
run: |
if [ -z "${{ github.event.inputs.wpversion }}" ]; then
echo "WORDPRESS_VERSION=latest" >> $GITHUB_ENV
else
echo "WORDPRESS_VERSION=${{ github.event.inputs.wpversion }}" >> $GITHUB_ENV
fi
- name: Setup test env variables
if: ${{ github.event.inputs.url != '' }}
run: |
echo "E2E_BASE_URL=${{ github.event.inputs.url }}" >> $GITHUB_ENV
echo "E2E_USER=${{ github.event.inputs.user }}" >> $GITHUB_ENV
echo "E2E_PASSWORD=${{ github.event.inputs.password }}" >> $GITHUB_ENV
- name: Run e2e tests
run: npm test
working-directory: __tests__/e2e
- name: Archive test results
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-results
path: |
__tests__/e2e/test-results
__tests__/e2e/screenshots
lint_e2e:
name: Run ESLint on E2E tests
runs-on: ubuntu-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@v2.7.0
with:
egress-policy: audit
- name: Check out repository code
uses: actions/checkout@v4.1.5
- name: Setup Node
uses: actions/setup-node@v4.0.2
with:
node-version: 'lts/*'
cache: npm
cache-dependency-path: __tests__/e2e/package-lock.json
- name: Install dependencies
run: npm ci
working-directory: __tests__/e2e
- name: Run ESLint
run: npm run lint
working-directory: __tests__/e2e