name: Component Tests
on:
workflow_call:
jobs:
check:
name: Component Test (${{ matrix.os }}.${{ matrix.node }})
permissions:
contents: read
actions: write
strategy:
fail-fast: false
matrix:
node: ['18', '20', '22']
os: [
'windows-latest',
'macos-latest'
]
runs-on: ${{ matrix.os }}
steps:
- name: ⬇️ Checkout Code
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
- name: 🧑🔧 Get Core Dependencies
uses: ./.github/workflows/actions/get-core-dependencies
- name: 🐢 Setup Node ${{ matrix.node }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
- name: Download Build Archive
uses: ./.github/workflows/actions/download-archive
with:
name: webdriverio
path: .
filename: webdriverio-build.zip
- name: Component Tests
run: pnpm run test:component
# component testing on Windows is currently broken
# https://github.com/webdriverio/webdriverio/actions/runs/9075112951/job/24935302330#step:7:30
if: matrix.os != 'windows-latest'
shell: bash
- name: Check Git Context
if: matrix.os != 'windows-latest'
uses: ./.github/workflows/actions/check-git-context
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: failure()
with:
name: component-tests-${{ matrix.os }}-${{ matrix.node }}-logs
path: e2e/browser-runner/logs