@@ -14,33 +14,32 @@ on: # yamllint disable-line rule:truthy
1414 workflow_dispatch :
1515
1616jobs :
17+ phplinter :
18+ name : ' PHP-Linter'
19+ strategy :
20+ fail-fast : false
21+ matrix :
22+ php-version : ['8.1', '8.2', '8.3', '8.4']
23+
24+ uses :
simplesamlphp/simplesamlphp-test-framework/.github/workflows/[email protected] 25+ with :
26+ php-version : ${{ matrix.php-version }}
27+
1728 linter :
18- name : Linter
19- runs-on : ['ubuntu-latest']
29+ name : ' Linter'
30+ strategy :
31+ fail-fast : false
2032
21- steps :
22- - uses : actions/checkout@v4
23- with :
24- fetch-depth : 0
25-
26- - name : Lint Code Base
27- uses : super-linter/super-linter/slim@v7
28- env :
29- SAVE_SUPER_LINTER_OUTPUT : false
30- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
31- LINTER_RULES_PATH : ' tools/linters'
32- LOG_LEVEL : NOTICE
33- VALIDATE_ALL_CODEBASE : true
34- VALIDATE_CSS : true
35- VALIDATE_JAVASCRIPT_ES : true
36- VALIDATE_JSON : true
37- VALIDATE_PHP_BUILTIN : true
38- VALIDATE_YAML : true
39- VALIDATE_XML : true
40- VALIDATE_GITHUB_ACTIONS : true
33+ uses :
simplesamlphp/simplesamlphp-test-framework/.github/workflows/[email protected] 34+ with :
35+ enable_eslinter : true
36+ enable_jsonlinter : true
37+ enable_stylelinter : false
38+ enable_yamllinter : true
4139
4240 quality :
4341 name : Quality control
42+ needs : [unit-tests-linux]
4443 runs-on : [ubuntu-latest]
4544
4645 steps :
5352 uses : shivammathur/setup-php@v2
5453 with :
5554 # Should be the higest supported version, so we can use the newest tools
56- php-version : ' 8.3 '
55+ php-version : ' 8.4 '
5756 tools : composer, composer-require-checker, composer-unused, phpcs, psalm
5857 # optional performance gain for psalm: opcache
5958 extensions : ctype, date, dom, fileinfo, filter, hash, intl, ldap, mbstring, opcache, openssl, pcre, spl, xml \
@@ -113,7 +112,9 @@ jobs:
113112
114113 security :
115114 name : Security checks
115+ needs : [unit-tests-linux]
116116 runs-on : [ubuntu-latest]
117+
117118 steps :
118119 - name : Setup PHP, with composer and extensions
119120 # https://github.com/shivammathur/setup-php
@@ -155,12 +156,13 @@ jobs:
155156 unit-tests-linux :
156157 name : " Unit tests, PHP ${{ matrix.php-versions }}, ${{ matrix.operating-system }}"
157158 runs-on : ${{ matrix.operating-system }}
158- needs : [linter, quality, security]
159+ needs : [phplinter, linter]
160+
159161 strategy :
160162 fail-fast : false
161163 matrix :
162164 operating-system : [ubuntu-latest]
163- php-versions : ['8.1', '8.2', '8.3']
165+ php-versions : ['8.1', '8.2', '8.3', '8.4' ]
164166
165167 steps :
166168 - name : Install libkrb5-dev
@@ -204,15 +206,15 @@ jobs:
204206 run : composer install --no-progress --prefer-dist --optimize-autoloader
205207
206208 - name : Run unit tests with coverage
207- if : ${{ matrix.php-versions == '8.3 ' }}
209+ if : ${{ matrix.php-versions == '8.4 ' }}
208210 run : vendor/bin/phpunit
209211
210212 - name : Run unit tests (no coverage)
211- if : ${{ matrix.php-versions != '8.3 ' }}
213+ if : ${{ matrix.php-versions != '8.4 ' }}
212214 run : vendor/bin/phpunit --no-coverage
213215
214216 - name : Save coverage data
215- if : ${{ matrix.php-versions == '8.3 ' }}
217+ if : ${{ matrix.php-versions == '8.4 ' }}
216218 uses : actions/upload-artifact@v4
217219 with :
218220 name : coverage-data
@@ -221,12 +223,12 @@ jobs:
221223 unit-tests-windows :
222224 name : " Unit tests, PHP ${{ matrix.php-versions }}, ${{ matrix.operating-system }}"
223225 runs-on : ${{ matrix.operating-system }}
224- needs : [linter, quality, security ]
226+ needs : [phplinter, linter ]
225227 strategy :
226228 fail-fast : true
227229 matrix :
228230 operating-system : [windows-latest]
229- php-versions : ['8.1', '8.2', '8.3']
231+ php-versions : ['8.1', '8.2', '8.3', '8.4' ]
230232
231233 steps :
232234 - name : Setup PHP, with composer and extensions
0 commit comments