1919 strategy :
2020 fail-fast : false
2121 matrix :
22- php-version : ['8.1 ', '8.2 ', '8.3 ', '8.4 ']
22+ php-version : ['8.2 ', '8.3 ', '8.4 ', '8.5 ']
2323
2424 uses :
simplesamlphp/simplesamlphp-test-framework/.github/workflows/[email protected] 2525 with :
@@ -37,118 +37,6 @@ jobs:
3737 enable_stylelinter : false
3838 enable_yamllinter : true
3939
40- quality :
41- name : Quality control
42- needs : [unit-tests-linux]
43- runs-on : [ubuntu-latest]
44-
45- steps :
46- - name : Setup PHP, with composer and extensions
47- id : setup-php
48- # https://github.com/shivammathur/setup-php
49- uses : shivammathur/setup-php@v2
50- with :
51- # Should be the higest supported version, so we can use the newest tools
52- php-version : ' 8.4'
53- tools : composer, composer-require-checker, composer-unused, phpcs, psalm
54- # optional performance gain for psalm: opcache
55- extensions : ctype, date, dom, fileinfo, filter, hash, intl, ldap, mbstring, opcache, openssl, pcre, spl, xml
56-
57- - name : Setup problem matchers for PHP
58- run : echo "::add-matcher::${{ runner.tool_cache }}/php.json"
59-
60- - uses : actions/checkout@v5
61-
62- - name : Get composer cache directory
63- run : echo COMPOSER_CACHE="$(composer config cache-files-dir)" >> "$GITHUB_ENV"
64-
65- - name : Cache composer dependencies
66- uses : actions/cache@v4
67- with :
68- path : $COMPOSER_CACHE
69- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
70- restore-keys : ${{ runner.os }}-composer-
71-
72- - name : Validate composer.json and composer.lock
73- run : composer validate
74-
75- - name : Install Composer dependencies
76- run : composer install --no-progress --prefer-dist --optimize-autoloader
77-
78- - name : Check code for hard dependencies missing in composer.json
79- run : composer-require-checker check --config-file=tools/composer-require-checker.json composer.json
80-
81- - name : Check code for unused dependencies in composer.json
82- run : composer-unused
83-
84- - name : PHP Code Sniffer
85- run : phpcs
86-
87- - name : Psalm
88- continue-on-error : true
89- run : |
90- psalm -c psalm.xml \
91- --show-info=true \
92- --shepherd \
93- --php-version=${{ steps.setup-php.outputs.php-version }}
94-
95- - name : Psalm (testsuite)
96- run : |
97- psalm -c psalm-dev.xml \
98- --show-info=true \
99- --shepherd \
100- --php-version=${{ steps.setup-php.outputs.php-version }}
101-
102- - name : Psalter
103- run : |
104- psalm --alter \
105- --issues=UnnecessaryVarAnnotation \
106- --dry-run \
107- --php-version=${{ steps.setup-php.outputs.php-version }}
108-
109- security :
110- name : Security checks
111- needs : [unit-tests-linux]
112- runs-on : [ubuntu-latest]
113-
114- steps :
115- - name : Setup PHP, with composer and extensions
116- # https://github.com/shivammathur/setup-php
117- uses : shivammathur/setup-php@v2
118- with :
119- # Should be the lowest supported version
120- php-version : ' 8.1'
121- extensions : ctype, date, dom, fileinfo, filter, hash, intl, ldap, mbstring, openssl, pcre, spl, xml
122- tools : composer
123- coverage : none
124-
125- - name : Setup problem matchers for PHP
126- run : echo "::add-matcher::${{ runner.tool_cache }}/php.json"
127-
128- - uses : actions/checkout@v5
129-
130- - name : Get composer cache directory
131- run : echo COMPOSER_CACHE="$(composer config cache-files-dir)" >> "$GITHUB_ENV"
132-
133- - name : Cache composer dependencies
134- uses : actions/cache@v4
135- with :
136- path : $COMPOSER_CACHE
137- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
138- restore-keys : ${{ runner.os }}-composer-
139-
140- - name : Install Composer dependencies
141- run : composer install --no-progress --prefer-dist --optimize-autoloader
142-
143- - name : Security check for locked dependencies
144- run : composer audit
145-
146- - name : Update Composer dependencies
147- run : composer update --no-progress --prefer-dist --optimize-autoloader
148-
149- - name : Security check for updated dependencies
150- run : composer audit
151-
15240 unit-tests-linux :
15341 name : " Unit tests, PHP ${{ matrix.php-versions }}, ${{ matrix.operating-system }}"
15442 runs-on : ${{ matrix.operating-system }}
15745 fail-fast : false
15846 matrix :
15947 operating-system : [ubuntu-latest]
160- php-versions : ['8.1 ', '8.2 ', '8.3 ', '8.4 ']
48+ php-versions : ['8.2 ', '8.3 ', '8.4 ', '8.5 ']
16149
16250 steps :
16351 - name : Install libkrb5-dev
@@ -200,15 +88,15 @@ jobs:
20088 run : composer install --no-progress --prefer-dist --optimize-autoloader
20189
20290 - name : Run unit tests with coverage
203- if : ${{ matrix.php-versions == '8.4 ' }}
91+ if : ${{ matrix.php-versions == '8.5 ' }}
20492 run : vendor/bin/phpunit
20593
20694 - name : Run unit tests (no coverage)
207- if : ${{ matrix.php-versions != '8.4 ' }}
95+ if : ${{ matrix.php-versions != '8.5 ' }}
20896 run : vendor/bin/phpunit --no-coverage
20997
21098 - name : Save coverage data
211- if : ${{ matrix.php-versions == '8.4 ' }}
99+ if : ${{ matrix.php-versions == '8.5 ' }}
212100 uses : actions/upload-artifact@v5
213101 with :
214102 name : coverage-data
@@ -222,7 +110,7 @@ jobs:
222110 fail-fast : true
223111 matrix :
224112 operating-system : [windows-latest]
225- php-versions : ['8.1 ', '8.2 ', '8.3 ', '8.4 ']
113+ php-versions : ['8.2 ', '8.3 ', '8.4 ', '8.5 ']
226114
227115 steps :
228116 - name : Setup PHP, with composer and extensions
@@ -264,6 +152,118 @@ jobs:
264152 - name : Run unit tests
265153 run : vendor/bin/phpunit --no-coverage
266154
155+ quality :
156+ name : Quality control
157+ needs : [unit-tests-linux]
158+ runs-on : [ubuntu-latest]
159+
160+ steps :
161+ - name : Setup PHP, with composer and extensions
162+ id : setup-php
163+ # https://github.com/shivammathur/setup-php
164+ uses : shivammathur/setup-php@v2
165+ with :
166+ # Should be the higest supported version, so we can use the newest tools
167+ php-version : ' 8.5'
168+ tools : composer, composer-require-checker, composer-unused, phpcs, psalm
169+ # optional performance gain for psalm: opcache
170+ extensions : ctype, date, dom, fileinfo, filter, hash, intl, ldap, mbstring, opcache, openssl, pcre, spl, xml
171+
172+ - name : Setup problem matchers for PHP
173+ run : echo "::add-matcher::${{ runner.tool_cache }}/php.json"
174+
175+ - uses : actions/checkout@v5
176+
177+ - name : Get composer cache directory
178+ run : echo COMPOSER_CACHE="$(composer config cache-files-dir)" >> "$GITHUB_ENV"
179+
180+ - name : Cache composer dependencies
181+ uses : actions/cache@v4
182+ with :
183+ path : $COMPOSER_CACHE
184+ key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
185+ restore-keys : ${{ runner.os }}-composer-
186+
187+ - name : Validate composer.json and composer.lock
188+ run : composer validate
189+
190+ - name : Install Composer dependencies
191+ run : composer install --no-progress --prefer-dist --optimize-autoloader
192+
193+ - name : Check code for hard dependencies missing in composer.json
194+ run : composer-require-checker check --config-file=tools/composer-require-checker.json composer.json
195+
196+ - name : Check code for unused dependencies in composer.json
197+ run : composer-unused
198+
199+ - name : PHP Code Sniffer
200+ run : phpcs
201+
202+ - name : Psalm
203+ continue-on-error : true
204+ run : |
205+ psalm -c psalm.xml \
206+ --show-info=true \
207+ --shepherd \
208+ --php-version=${{ steps.setup-php.outputs.php-version }}
209+
210+ - name : Psalm (testsuite)
211+ run : |
212+ psalm -c psalm-dev.xml \
213+ --show-info=true \
214+ --shepherd \
215+ --php-version=${{ steps.setup-php.outputs.php-version }}
216+
217+ - name : Psalter
218+ run : |
219+ psalm --alter \
220+ --issues=UnnecessaryVarAnnotation \
221+ --dry-run \
222+ --php-version=${{ steps.setup-php.outputs.php-version }}
223+
224+ security :
225+ name : Security checks
226+ needs : [unit-tests-linux]
227+ runs-on : [ubuntu-latest]
228+
229+ steps :
230+ - name : Setup PHP, with composer and extensions
231+ # https://github.com/shivammathur/setup-php
232+ uses : shivammathur/setup-php@v2
233+ with :
234+ # Should be the lowest supported version
235+ php-version : ' 8.2'
236+ extensions : ctype, date, dom, fileinfo, filter, hash, intl, ldap, mbstring, openssl, pcre, spl, xml
237+ tools : composer
238+ coverage : none
239+
240+ - name : Setup problem matchers for PHP
241+ run : echo "::add-matcher::${{ runner.tool_cache }}/php.json"
242+
243+ - uses : actions/checkout@v5
244+
245+ - name : Get composer cache directory
246+ run : echo COMPOSER_CACHE="$(composer config cache-files-dir)" >> "$GITHUB_ENV"
247+
248+ - name : Cache composer dependencies
249+ uses : actions/cache@v4
250+ with :
251+ path : $COMPOSER_CACHE
252+ key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
253+ restore-keys : ${{ runner.os }}-composer-
254+
255+ - name : Install Composer dependencies
256+ run : composer install --no-progress --prefer-dist --optimize-autoloader
257+
258+ - name : Security check for locked dependencies
259+ run : composer audit
260+
261+ - name : Update Composer dependencies
262+ run : composer update --no-progress --prefer-dist --optimize-autoloader
263+
264+ - name : Security check for updated dependencies
265+ run : composer audit
266+
267267 coverage :
268268 name : Code coverage
269269 runs-on : [ubuntu-latest]
0 commit comments