Skip to content

test(e2e): replace custom helper with expect.poll #2509

test(e2e): replace custom helper with expect.poll

test(e2e): replace custom helper with expect.poll #2509

Workflow file for this run

name: Test
on:
pull_request:
branches: [main]
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
env:
# Configure Node.js memory limit to 6GB (default GitHub Actions limit is 7GB)
NODE_OPTIONS: --max-old-space-size=6144
jobs:
# ======== ut ========
ut:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
# run ut in macOS, as SWC cases will fail in Ubuntu CI
os: [macos-14, windows-latest]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 1
- name: Install Pnpm
run: |
npm install -g corepack@latest --force
corepack enable
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
predicate-quantifier: 'every'
filters: |
changed:
- "!**/*.md"
- "!**/*.mdx"
- "!**/_meta.json"
- "!**/dictionary.txt"
- name: Setup Node.js
if: steps.changes.outputs.changed == 'true'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 22
cache: 'pnpm'
- name: Install Dependencies
if: steps.changes.outputs.changed == 'true'
run: pnpm install
- name: Unit Test
if: steps.changes.outputs.changed == 'true'
run: pnpm run ut
# ======== e2e ========
e2e:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 1
- name: Install Pnpm
run: |
npm install -g corepack@latest --force
corepack enable
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
predicate-quantifier: 'every'
filters: |
changed:
- "!**/*.md"
- "!**/*.mdx"
- "!**/_meta.json"
- "!**/dictionary.txt"
- name: Setup Node.js
if: steps.changes.outputs.changed == 'true'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 22
cache: 'pnpm'
- name: Install Dependencies
if: steps.changes.outputs.changed == 'true'
run: pnpm install && cd ./e2e && npx playwright install chromium
- name: E2E Test - 1
if: steps.changes.outputs.changed == 'true'
run: pnpm run e2e:rspack --shard=1/2
- name: E2E Test - 2
if: steps.changes.outputs.changed == 'true'
run: pnpm run e2e:rspack --shard=2/2
# ======== e2e-webpack ========
e2e-webpack:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 1
- name: Install Pnpm
run: |
npm install -g corepack@latest --force
corepack enable
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
with:
predicate-quantifier: 'every'
filters: |
changed:
- "!**/*.md"
- "!**/*.mdx"
- "!**/_meta.json"
- "!**/dictionary.txt"
- name: Setup Node.js
if: steps.changes.outputs.changed == 'true'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: 22
cache: 'pnpm'
- name: Install Dependencies
if: steps.changes.outputs.changed == 'true'
run: pnpm install && cd ./e2e && npx playwright install chromium
- name: E2E Test - 1
if: steps.changes.outputs.changed == 'true'
run: pnpm run e2e:webpack --shard=1/2
- name: E2E Test - 2
if: steps.changes.outputs.changed == 'true'
run: pnpm run e2e:webpack --shard=2/2