@@ -47,12 +47,15 @@ jobs:
4747 - 5432:5432
4848 options : --health-cmd=pg_isready --health-interval=10s --health-timeout=5s --health-retries=3
4949 steps :
50- - uses : actions/checkout@v3
51- - name : Cache dependencies
52- uses : actions/cache@v3
50+ - uses : actions/checkout@v4
51+ - name : Cache Composer dependencies
52+ uses : actions/cache@v4
5353 with :
5454 path : ~/.composer/cache/files
55- key : dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
55+ key : composer-${{ matrix.php }}-${{ matrix.laravel }}-${{ hashFiles('composer.json') }}
56+ restore-keys : |
57+ composer-${{ matrix.php }}-${{ matrix.laravel }}-
58+ composer-${{ matrix.php }}-
5659 - name : Set up PHP
5760 uses : shivammathur/setup-php@v2
5861 with :
@@ -67,14 +70,25 @@ jobs:
6770 uses : actions/setup-node@v4
6871 with :
6972 node-version : lts/*
73+ cache : npm
7074 - name : Install npm dependencies
7175 run : npm ci
76+ - name : Cache Playwright browsers
77+ id : playwright-cache
78+ uses : actions/cache@v4
79+ with :
80+ path : ~/.cache/ms-playwright
81+ key : playwright-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
7282 - name : Install Playwright browsers
83+ if : steps.playwright-cache.outputs.cache-hit != 'true'
7384 uses : nick-fields/retry@v3
7485 with :
7586 timeout_minutes : 10
7687 max_attempts : 3
7788 command : npx playwright install --with-deps
89+ - name : Install Playwright system dependencies
90+ if : steps.playwright-cache.outputs.cache-hit == 'true'
91+ run : npx playwright install-deps
7892 - name : Wait for MySQL
7993 if : matrix.db == 'mysql'
8094 run : |
0 commit comments