3232 uses : actions/cache@v4
3333 with :
3434 path : ~/.composer/cache/files
35- key : dependencies-pw-v2- ${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
35+ key : dependencies-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
3636
3737 - name : Setup PHP
3838 uses : shivammathur/setup-php@v2
@@ -56,43 +56,43 @@ jobs:
5656 runs-on : ubuntu-24.04
5757 timeout-minutes : 5
5858
59- strategy :
60- fail-fast : true
61- matrix :
62- php : [ 8.4 ]
63- laravel : [ 12.* ]
64- include :
65- - laravel : 12.*
66- testbench : 10.*
67- larastan : 3.*
68- pint : 1.*
59+ needs : [build]
60+
61+ env :
62+ php : 8.4
63+ laravel : 12.*
64+ testbench : 10.*
65+ larastan : 3.*
66+ pint : 1.*
6967
70- name : Lint - PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
68+ name : Lint
7169 steps :
7270 - name : Checkout code
7371 uses : actions/checkout@v4
7472
7573 - name : Cache dependencies
74+ id : cache
7675 uses : actions/cache@v4
7776 with :
7877 path : ~/.composer/cache/files
79- key : dependencies-pw-v2- ${{ matrix .laravel }}-php-${{ matrix .php }}-composer-${{ hashFiles('composer.json') }}
78+ key : dependencies-${{ env .laravel }}-php-${{ env .php }}-composer-${{ hashFiles('composer.json') }}
8079
8180 - name : Setup PHP
8281 uses : shivammathur/setup-php@v2
8382 with :
84- php-version : ${{ matrix .php }}
85- extensions : curl, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, iconv
83+ php-version : ${{ env .php }}
84+ extensions : curl, mbstring, zip, pcntl, iconv
8685 coverage : none
8786 tools : composer:v2
8887
8988 - name : Install dependencies
89+ if : steps.cache.outputs.cache-hit != 'true'
9090 run : |
9191 composer --version
92- composer require "laravel/framework:${{ matrix .laravel }}" --no-interaction --no-update
93- composer require "orchestra/testbench:${{ matrix .testbench }}" --no-interaction --no-update --dev
94- composer require "larastan/larastan:${{ matrix .larastan }}" --no-interaction --no-update --dev
95- composer require "laravel/pint:${{ matrix .pint }}" --no-interaction --no-update --dev
92+ composer require "laravel/framework:${{ env .laravel }}" --no-interaction --no-update
93+ composer require "orchestra/testbench:${{ env .testbench }}" --no-interaction --no-update --dev
94+ composer require "larastan/larastan:${{ env .larastan }}" --no-interaction --no-update --dev
95+ composer require "laravel/pint:${{ env .pint }}" --no-interaction --no-update --dev
9696 composer update --prefer-dist --no-interaction --no-suggest --dev
9797 composer dump
9898
@@ -103,43 +103,43 @@ jobs:
103103 runs-on : ubuntu-24.04
104104 timeout-minutes : 5
105105
106- strategy :
107- fail-fast : true
108- matrix :
109- php : [ 8.4 ]
110- laravel : [ 12.* ]
111- include :
112- - laravel : 12.*
113- testbench : 10.*
114- larastan : 3.*
115- pint : 1.*
106+ needs : [build]
107+
108+ env :
109+ php : 8.4
110+ laravel : 12.*
111+ testbench : 10.*
112+ larastan : 3.*
113+ pint : 1.*
116114
117- name : Static Analysis - PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
115+ name : Static Analysis
118116 steps :
119117 - name : Checkout code
120118 uses : actions/checkout@v4
121119
122120 - name : Cache dependencies
121+ id : cache
123122 uses : actions/cache@v4
124123 with :
125124 path : ~/.composer/cache/files
126- key : dependencies-pw-v2- ${{ matrix .laravel }}-php-${{ matrix .php }}-composer-${{ hashFiles('composer.json') }}
125+ key : dependencies-${{ env .laravel }}-php-${{ env .php }}-composer-${{ hashFiles('composer.json') }}
127126
128127 - name : Setup PHP
129128 uses : shivammathur/setup-php@v2
130129 with :
131- php-version : ${{ matrix .php }}
132- extensions : curl, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, iconv
130+ php-version : ${{ env .php }}
131+ extensions : curl, mbstring, zip, pcntl, iconv
133132 coverage : none
134133 tools : composer:v2
135134
136135 - name : Install dependencies
136+ if : steps.cache.outputs.cache-hit != 'true'
137137 run : |
138138 composer --version
139- composer require "laravel/framework:${{ matrix .laravel }}" --no-interaction --no-update
140- composer require "orchestra/testbench:${{ matrix .testbench }}" --no-interaction --no-update --dev
141- composer require "larastan/larastan:${{ matrix .larastan }}" --no-interaction --no-update --dev
142- composer require "laravel/pint:${{ matrix .pint }}" --no-interaction --no-update --dev
139+ composer require "laravel/framework:${{ env .laravel }}" --no-interaction --no-update
140+ composer require "orchestra/testbench:${{ env .testbench }}" --no-interaction --no-update --dev
141+ composer require "larastan/larastan:${{ env .larastan }}" --no-interaction --no-update --dev
142+ composer require "laravel/pint:${{ env .pint }}" --no-interaction --no-update --dev
143143 composer update --prefer-dist --no-interaction --no-suggest --dev
144144 composer dump
145145
@@ -173,10 +173,11 @@ jobs:
173173 uses : actions/checkout@v4
174174
175175 - name : Cache dependencies
176+ id : cache
176177 uses : actions/cache@v4
177178 with :
178179 path : ~/.composer/cache/files
179- key : dependencies-pw-v2- ${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
180+ key : dependencies-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
180181
181182 - name : Setup PHP
182183 uses : shivammathur/setup-php@v2
@@ -187,6 +188,7 @@ jobs:
187188 tools : composer:v2
188189
189190 - name : Install dependencies
191+ if : steps.cache.outputs.cache-hit != 'true'
190192 run : |
191193 composer --version
192194 composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update
0 commit comments