Skip to content

chore: use a matrix for e2es #1299

chore: use a matrix for e2es

chore: use a matrix for e2es #1299

Workflow file for this run

name: Playwright Tests
on:
push:
branches: [main]
pull_request:
jobs:
get-e2e-packages:
runs-on: ubuntu-latest
outputs:
packages: ${{ steps.get-e2e-packages.outputs.packages }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install Dependencies
uses: ./.github/actions/install-dependencies
- name: Get packages
run: |
set -x
{
echo "packages='[\"$(pnpm m ls --depth -1 | grep -e 'examples/' | tr ' ' '\n' | grep -o '.*@\d' | rev | cut -c3- | rev | sed -e 's/\\(.*\\)/\"\\1\"/' | paste -sd, - | sed 's/,/","/g')\"]'"
} >> "$GITHUB_OUTPUT"
test:
timeout-minutes: 30
runs-on: ubuntu-latest
needs: get-e2e-packages
strategy:
fail-fast: true
matrix:
package: ${{ fromJson(needs.get-e2e-packages.outputs.packages) }}
name: ${{ matrix.package }} E2Es
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Install Dependencies
uses: ./.github/actions/install-dependencies
- name: Install Playwright
run: pnpm run install-playwright
- name: Build the tool
run: pnpm build
- name: Build all workers
run: pnpm --filter ${{ matrix.package }} build:worker
- name: Run playwright tests
run: pnpm --filter ${{ matrix.package }} e2e
- name: Run playwright dev tests
run: pnpm --filter ${{ matrix.package }} e2e:dev
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: ./**/playwright-report
retention-days: 1