@@ -133,6 +133,39 @@ jobs:
133
133
needs :
134
134
- php_lint
135
135
runs-on : ubuntu-latest
136
+ continue-on-error : ${{ matrix.experimental }}
137
+
138
+ strategy :
139
+ fail-fast : false
140
+ matrix :
141
+ php-version :
142
+ - ' 8.0'
143
+ - ' 8.1'
144
+ dependencies :
145
+ - ' lowest'
146
+ - ' stable'
147
+ - ' highest'
148
+ experimental :
149
+ - false
150
+ include :
151
+ - php-version : ' latest'
152
+ dependencies : ' lowest'
153
+ experimental : true
154
+ - php-version : ' latest'
155
+ dependencies : ' stable'
156
+ experimental : true
157
+ - php-version : ' latest'
158
+ dependencies : ' highest'
159
+ experimental : true
160
+ - php-version : ' nightly'
161
+ dependencies : ' lowest'
162
+ experimental : true
163
+ - php-version : ' nightly'
164
+ dependencies : ' stable'
165
+ experimental : true
166
+ - php-version : ' nightly'
167
+ dependencies : ' highest'
168
+ experimental : true
136
169
137
170
steps :
138
171
- name : Checkout
@@ -144,7 +177,7 @@ jobs:
144
177
coverage : none
145
178
extensions : intl, zip
146
179
ini-values : memory_limit=-1, error_reporting=E_ALL, display_errors=On
147
- php-version : ' 8.1 '
180
+ php-version : ${{ matrix.php-version }}
148
181
149
182
- name : Composer Cache Vars
150
183
id : composer-cache-vars
@@ -156,16 +189,31 @@ jobs:
156
189
uses : actions/cache@v3
157
190
with :
158
191
path : ${{ steps.composer-cache-vars.outputs.dir }}
159
- key : ${{ runner.os }}-composer-2-latest -${{ steps.composer-cache-vars.outputs.timestamp }}
192
+ key : ${{ runner.os }}-composer-2-${{ matrix.php-version }}-${{ matrix.dependencies }} -${{ steps.composer-cache-vars.outputs.timestamp }}
160
193
restore-keys : |
161
- ${{ runner.os }}-composer-2-latest-
194
+ ${{ runner.os }}-composer-2-${{ matrix.php-version }}-${{ matrix.dependencies }}-
195
+ ${{ runner.os }}-composer-2-${{ matrix.php-version }}-
162
196
${{ runner.os }}-composer-2-
163
197
${{ runner.os }}-composer-
164
198
199
+ - name : Handle lowest dependencies update
200
+ if : contains(matrix.dependencies, 'lowest')
201
+ run : echo "COMPOSER_UPDATE_FLAGS=$COMPOSER_UPDATE_FLAGS --prefer-lowest" >> $GITHUB_ENV
202
+
203
+ - name : Allow alpha releases for latest-deps builds to catch problems earlier
204
+ if : contains(matrix.dependencies, 'highest')
205
+ run : composer config minimum-stability alpha
206
+
207
+ - name : Set platform.php for nightly
208
+ if : ${{ matrix.php-version == 'nightly' }}
209
+ run : |
210
+ composer config platform.php 8.1.99
211
+
165
212
- name : Install dependencies
166
- run : composer install ${{ env.COMPOSER_INSTALL_FLAGS }} ${{ env.COMPOSER_FLAGS }}
213
+ run : composer update ${{ env.COMPOSER_UPDATE_FLAGS }} ${{ env.COMPOSER_INSTALL_FLAGS }} ${{ env.COMPOSER_FLAGS }}
167
214
168
215
- name : Validation of coding standards for PHP files
216
+ continue-on-error : ${{ matrix.experimental }}
169
217
run : composer ci:php:cs
170
218
171
219
php_stan :
0 commit comments