@@ -16,36 +16,49 @@ jobs:
1616 uses : actions/checkout@v4
1717 with :
1818 fetch-depth : 1
19-
20- - uses : pnpm/action-setup@v4
21- name : Install pnpm
19+
20+ - name : Setup PHP
21+ id : setup-php
22+ uses : shivammathur/setup-php@v2
2223 with :
23- run_install : true
24+ php-version : ' 8.x'
25+ tools : composer:v2, wp-cli
2426
25- - name : Install Node.js
27+ - name : Setup Node
2628 uses : actions/setup-node@v4
2729 with :
28- node-version : 20
29- cache : ' pnpm'
30+ node-version : 22
31+
32+ - name : Install pnpm
33+ uses : pnpm/action-setup@v4
34+ with :
35+ run_install : false
3036
31- - name : Cache Composer dependencies
32- uses : actions/cache@v4
37+ - name : Get pnpm store directory
38+ id : pnpm-cache
39+ shell : bash
40+ run : |
41+ echo "dir=$(pnpm store path --silent)" >> $GITHUB_OUTPUT
42+
43+ - name : Get composer cache directory
44+ id : composer-cache
45+ run : echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
46+
47+ - uses : actions/cache@v4
48+ name : Setup package cache
3349 with :
3450 path : |
35- /tmp/composer-cache
36- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
51+ ${{ steps.pnpm-cache.outputs.dir }}
52+ ${{ steps.composer-cache.outputs.dir }}
53+ key : ${{ runner.os }}-cached-test-package-${{ hashFiles('**/pnpm-lock.yaml', '**/composer.lock') }}
3754 restore-keys : |
38- ${{ runner.os }}-composer -
55+ ${{ runner.os }}-cached-test-package -
3956
40- - uses : php-actions/composer@v6
41- with :
42- php_version : ' 8.4'
43- version : ' 2.2'
44- dev : no
45- args : --prefer-dist --no-dev --optimize-autoloader
4657
47- # - name: Install php dependencies
48- # run: composer install --prefer-dist --no-progress
58+ - name : Install dependencies
59+ run : |
60+ composer install --prefer-dist --no-progress
61+ pnpm install
4962
5063 - name : Run Lefthook
5164 run : pnpm lefthook run github-actions
0 commit comments