Skip to content

Commit 6b7685e

Browse files
committed
Bump minimum PHP version to 8.2 and start testing on PHP 8.5
1 parent 955699e commit 6b7685e

File tree

2 files changed

+123
-123
lines changed

2 files changed

+123
-123
lines changed

.github/workflows/php.yml

Lines changed: 118 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
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 }}
@@ -157,7 +45,7 @@ jobs:
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]

composer.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,16 @@
3737
"ssp-mixedcase-module-name": "negotiateext"
3838
},
3939
"require": {
40-
"php": "^8.1",
40+
"php": "^8.2",
4141

42-
"simplesamlphp/composer-module-installer": "^1.3.4",
43-
"simplesamlphp/assert": "^1.2",
44-
"simplesamlphp/simplesamlphp": "^2.2",
42+
"simplesamlphp/composer-module-installer": "^1.5.0",
43+
"simplesamlphp/assert": "^1.9.1",
44+
"simplesamlphp/simplesamlphp": "^2.4",
4545
"simplesamlphp/simplesamlphp-module-ldap": "^2.3",
4646
"symfony/http-foundation": "^6.4"
4747
},
4848
"require-dev": {
49-
"simplesamlphp/simplesamlphp-test-framework": "^1.7.9"
49+
"simplesamlphp/simplesamlphp-test-framework": "^1.10.3"
5050
},
5151
"support": {
5252
"issues": "https://github.com/tvdijen/simplesamlphp-module-negotiateext/issues",

0 commit comments

Comments
 (0)