Precise DOM morphing
morphing
typescript
dom
1name: Tests
2
3on: [push, pull_request]
4
5jobs:
6 test:
7 name: JavaScript Test Action
8 runs-on: ubuntu-latest
9
10 steps:
11 - uses: actions/checkout@v3
12
13 - name: Setup Bun
14 uses: oven-sh/setup-bun@v1
15
16 - name: Install dependencies
17 run: bun install
18
19 - name: Get Playwright version
20 id: playwright-version
21 run: echo "version=$(bun pm ls | grep '@playwright/test' | awk '{print $2}')" >> $GITHUB_OUTPUT
22
23 - name: Cache Playwright browsers
24 uses: actions/cache@v3
25 id: playwright-cache
26 with:
27 path: ~/.cache/ms-playwright
28 key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}
29
30 - name: Install Playwright Browsers
31 if: steps.playwright-cache.outputs.cache-hit != 'true'
32 run: bunx playwright install --with-deps chromium firefox webkit
33
34 - name: Install Playwright System Dependencies
35 if: steps.playwright-cache.outputs.cache-hit == 'true'
36 run: bunx playwright install-deps chromium firefox webkit
37
38 - name: Build
39 run: bun run build
40
41 - name: Run Unit Tests
42 run: bun run test
43
44 - name: Run Browser Tests
45 run: bun run test:browser
46
47 - name: Generate Coverage Report
48 run: bun run test --coverage