Skip to content

Merge pull request #997 from dequelabs/release #458

Merge pull request #997 from dequelabs/release

Merge pull request #997 from dequelabs/release #458

Workflow file for this run

name: Tests
on:
pull_request:
push:
branches:
- master
- develop
- release-*
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
cache: 'npm'
- run: npm ci
- run: npm run lint
puppeteer:
strategy:
matrix:
node: [16, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node}}
cache: 'npm'
- run: npm ci
# HACK: Force a TTY to enable browser-driver-manager to manipulate stdout.
- shell: 'script -q -e -c "bash {0}"'
run: npx browser-driver-manager install chromedriver --verbose
working-directory: packages/puppeteer
- run: npm run build --workspace=packages/puppeteer
- run: npm run coverage --workspace=packages/puppeteer
- run: npm run test:export --workspace=packages/puppeteer
cli:
strategy:
matrix:
node: [16, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- run: npm ci
# HACK: Force a TTY to enable browser-driver-manager to manipulate stdout.
- shell: 'script -q -e -c "bash {0}"'
run: npx browser-driver-manager install chromedriver=119 --verbose
working-directory: packages/cli
- run: npm run coverage --workspace=packages/cli
webdriverjs:
strategy:
matrix:
node: [16, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- run: npm ci
# HACK: Force a TTY to enable browser-driver-manager to manipulate stdout.
- shell: 'script -q -e -c "bash {0}"'
run: npx browser-driver-manager install chromedriver --verbose
working-directory: packages/webdriverjs
- run: npm run build --workspace=packages/webdriverjs
- run: npm run coverage --workspace=packages/webdriverjs
- run: npm run test:export --workspace=packages/webdriverjs
webdriverio:
strategy:
matrix:
node: [16, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- run: npm ci
# HACK: Force a TTY to enable browser-driver-manager to manipulate stdout.
- shell: 'script -q -e -c "bash {0}"'
run: npx browser-driver-manager install chromedriver --verbose
working-directory: packages/webdriverio
- run: npm run build --workspace=packages/webdriverio
- run: npm run coverage --workspace=packages/webdriverio
- run: npm run test:export --workspace=packages/webdriverio
reporter_earl:
strategy:
matrix:
node: [16, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- run: npm ci
- run: npm run build --workspace=packages/reporter-earl
- run: npm run test --workspace=packages/reporter-earl
- run: npm run test:export --workspace=packages/reporter-earl
react:
strategy:
matrix:
node: [16, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- run: npm ci
- run: npm run test --workspace=packages/react
# the tests builds the project using tsc and relies on `cache.ts` to be
# built and be it's own file. however we don't want that for the export
# test so we need to rebuild using tsup
- run: npm run build --workspace=packages/react
- run: npm run test:export --workspace=packages/react
playwright:
strategy:
matrix:
node: [16, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- run: npm ci
- run: npx playwright install --with-deps
- run: npm run build --workspace=packages/playwright
- run: npm run coverage --workspace=packages/playwright
- run: npm run test:export --workspace=packages/playwright
wdio_globals_test:
strategy:
matrix:
node: [16, 18, 20]
runs-on: ubuntu-latest
timeout-minutes: 15
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'npm'
- run: npm ci
- run: npm run test --workspace=test/wdio
axe_core_test:
if: github.ref_name == 'master' || startsWith(github.ref_name, 'release')
runs-on: ubuntu-latest
timeout-minutes: 5
needs: lint
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
cache: 'npm'
- run: npm ci
- run: npm test --workspace=test/axe-core