Skip to content

Commit ca477d0

Browse files
committed
feat(tests): run playwright tests in CI
1 parent 37efaf8 commit ca477d0

1 file changed

Lines changed: 50 additions & 3 deletions

File tree

.github/workflows/ci-tests.yml

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
- master
1010

1111
jobs:
12-
test:
12+
unit-tests:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- name: Checkout code
@@ -20,9 +20,31 @@ jobs:
2020
with:
2121
bun-version: latest
2222

23+
- name: Cache Bun dependencies
24+
uses: actions/cache@v4
25+
with:
26+
path: ~/.bun/install/cache
27+
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }}
28+
restore-keys: |
29+
${{ runner.os }}-bun-
30+
2331
- name: Install dependencies
2432
run: bun install
2533

34+
- name: Run unit tests
35+
run: bun run test:run
36+
37+
component-tests:
38+
runs-on: ubuntu-latest
39+
steps:
40+
- name: Checkout code
41+
uses: actions/checkout@v4
42+
43+
- name: Set up Bun
44+
uses: oven-sh/setup-bun@v2
45+
with:
46+
bun-version: latest
47+
2648
- name: Cache Bun dependencies
2749
uses: actions/cache@v4
2850
with:
@@ -31,5 +53,30 @@ jobs:
3153
restore-keys: |
3254
${{ runner.os }}-bun-
3355
34-
- name: Run tests
35-
run: bun run test:run
56+
- name: Install dependencies
57+
run: bun install
58+
59+
- name: Cache Playwright browsers
60+
uses: actions/cache@v4
61+
id: playwright-cache
62+
with:
63+
path: ~/.cache/ms-playwright
64+
key: ${{ runner.os }}-playwright-${{ hashFiles('**/bun.lock') }}
65+
66+
- name: Install Playwright browsers
67+
if: steps.playwright-cache.outputs.cache-hit != 'true'
68+
run: bun run playwright:install
69+
70+
- name: Install Playwright system dependencies
71+
run: bunx playwright install-deps
72+
73+
- name: Run component tests
74+
run: bun run test:ct
75+
76+
- name: Upload test results
77+
uses: actions/upload-artifact@v4
78+
if: ${{ !cancelled() }}
79+
with:
80+
name: playwright-report
81+
path: playwright-report/
82+
retention-days: 7

0 commit comments

Comments
 (0)