Skip to content

Commit de66fce

Browse files
committed
Cache playwright browser
1 parent 986f85f commit de66fce

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

.github/workflows/e2e-tests.yml

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,35 @@ jobs:
2424
- name: Install dependencies
2525
run: npm ci
2626

27-
- name: Install Playwright Browsers
27+
# https://github.com/microsoft/playwright/issues/7249#issuecomment-1385567519
28+
- name: Store Playwright's Version
29+
run: |
30+
PLAYWRIGHT_VERSION=$(npm ls @playwright/test | grep @playwright | sed 's/.*@//')
31+
echo "Playwright's Version: $PLAYWRIGHT_VERSION"
32+
echo "PLAYWRIGHT_VERSION=$PLAYWRIGHT_VERSION" >> $GITHUB_ENV
33+
34+
- name: Cache Playwright Browsers for Playwright's Version
35+
id: cache-playwright-browsers
36+
uses: actions/cache@v4
37+
with:
38+
path: ~/.cache/ms-playwright
39+
key: playwright-browsers-${{ env.PLAYWRIGHT_VERSION }}
40+
41+
- name: Setup Playwright
42+
if: steps.cache-playwright-browsers.outputs.cache-hit != 'true'
2843
run: npx playwright install --with-deps
2944

45+
- name: Install system dependencies for WebKit
46+
# Some WebKit dependencies seem to lay outside the cache and will need to be installed separately
47+
if: ${{ steps.playwright-cache.outputs.cache-hit == 'true' }}
48+
run: npx playwright install-deps webkit
49+
3050
- name: Run Playwright tests
3151
run: npm run e2e
52+
53+
- uses: actions/upload-artifact@v4
54+
if: ${{ !cancelled() }}
55+
with:
56+
name: playwright-report
57+
path: test-results/reports-ci
58+
retention-days: 30

config/playwright.config.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ export default defineConfig({
99
timeout: 60 * 1000,
1010
reuseExistingServer: !process.env.CI
1111
},
12+
reporter: process.env.GITHUB_ACTIONS
13+
? [
14+
['list', { printSteps: true, forceColor: true }],
15+
['json', { outputFile: '../test-results/reports-ci/results.json' }]
16+
]
17+
: 'list',
1218
projects: [
1319
{
1420
name: 'Chrome Desktop',

0 commit comments

Comments
 (0)