@@ -143,3 +143,85 @@ jobs:
143143 - run : echo 'codecov='"'"'${{ toJson(needs.codecov-uploader) }}'"'"
144144 - run : echo 'codacy='"'"'${{ toJson(needs.codacy-uploader) }}'"'"
145145# # <<< Trusted - to move to a workflow_run workflow
146+
147+
148+ static-checks :
149+ name : Static checks
150+ runs-on : ubuntu-latest
151+ steps :
152+ - uses : actions/checkout@v3
153+
154+ - name : Setup PHP 8.2
155+ uses : shivammathur/setup-php@v2
156+ with :
157+ php-version : 8.2 # Latest supported
158+ tools : composer
159+ coverage : none
160+ env :
161+ # Always use latest available patch for the version
162+ update : true
163+
164+ - name : Setup cache
165+ id : cache
166+ uses : actions/cache@v3
167+ with :
168+ path : |
169+ ~/.composer
170+ # Clear the cache if composer json (as composer.lock is in the repo) has been updated
171+ key : tests-${{ env.PHP_VERSION }}-${{ hashFiles('composer.json') }}
172+
173+ - name : Build
174+ run : make build
175+
176+ - name : ComposerRequireChecker
177+ uses : docker://webfactory/composer-require-checker:4.5.0
178+
179+ - name : Dependencies check
180+ if : ${{ github.event_name == 'pull_request' }}
181+ uses : actions/dependency-review-action@v1
182+
183+
184+ nightly-tests :
185+ name : Nightly - PHP ${{ matrix.php-version }}
186+ runs-on : ubuntu-latest
187+ env :
188+ COMPOSER_OPTIONS : ' --optimize-autoloader --ignore-platform-req=php+'
189+ continue-on-error : true
190+ needs : [ static-checks, tests ]
191+ strategy :
192+ fail-fast : false
193+ max-parallel : 4
194+ matrix :
195+ php-version :
196+ - ' 8.3' # Current php dev version
197+
198+ steps :
199+ - name : Check out code
200+ uses : actions/checkout@v3
201+
202+ - name : Setup PHP ${{ matrix.php-version }}
203+ uses : shivammathur/setup-php@v2
204+ with :
205+ php-version : ' ${{ matrix.php-version }}'
206+ tools : composer
207+ coverage : none
208+ env :
209+ # Always use latest available patch for the version
210+ update : true
211+
212+ - name : Setup cache
213+ id : cache
214+ uses : actions/cache@v3
215+ with :
216+ path : |
217+ ~/.composer
218+ ./vendor
219+ # Clear the cache if composer json (as composer.lock is in the repo) has been updated
220+ key : tests-${{ matrix.php-version }}-${{ hashFiles('composer.json') }}
221+
222+ - name : Build
223+ run : |
224+ make build
225+
226+ - name : Test
227+ run : make test-unit && make test-functional
0 commit comments