Skip to content

Commit 887d01a

Browse files
snapshotplclaude
andcommitted
Update CI matrix and actions
Test PHP 8.2 and 8.3, run on pull requests, and stop using the retired actions/checkout@v2 and ramsey/composer-install@v1. The lowest-dependency jobs are limited to PHP 7.3-8.0: Slim 3.0, Pimple 3.0 and vfsStream 1.6.8 predate PHP 8.1 and fatal on load there. Raising those dev bounds is not an option either, because the first Slim 3 release that supports PHP 8.1 (3.13.0) requires PHP 8.1 and would break the 7.3 and 7.4 jobs. Every supported PHP version stays covered by the highest jobs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent c000985 commit 887d01a

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

.github/workflows/tests.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
name: CI
22
on:
33
- push
4+
- pull_request
45
jobs:
56
phpstan:
67
runs-on: ubuntu-latest
78
steps:
89
- name: Checkout
9-
uses: actions/checkout@v2
10+
uses: actions/checkout@v4
1011

1112
- name: Setup PHP, with composer and extensions
1213
uses: shivammathur/setup-php@v2
1314
with:
1415
php-version: 7.3
1516

1617
- name: Install dependencies with Composer
17-
uses: ramsey/composer-install@v1
18+
uses: ramsey/composer-install@v3
1819

1920
- name: Run phpstan
2021
run: vendor/bin/phpstan analyse --level=6 src/
2122
tests:
2223
strategy:
24+
fail-fast: false
2325
matrix:
2426
dependencies:
2527
- highest
@@ -29,18 +31,31 @@ jobs:
2931
- 7.4
3032
- 8.0
3133
- 8.1
34+
- 8.2
35+
- 8.3
36+
exclude:
37+
# Lowest bounds of our dependencies were released before PHP 8.1
38+
# and do not carry #[\ReturnTypeWillChange], so they fatal on load.
39+
# This is a limitation of those old releases, not of this library:
40+
# every supported PHP version is covered by the highest jobs.
41+
- dependencies: lowest
42+
php-versions: 8.1
43+
- dependencies: lowest
44+
php-versions: 8.2
45+
- dependencies: lowest
46+
php-versions: 8.3
3247
runs-on: ubuntu-latest
3348
steps:
3449
- name: Checkout
35-
uses: actions/checkout@v2
50+
uses: actions/checkout@v4
3651

3752
- name: Setup PHP, with composer and extensions
3853
uses: shivammathur/setup-php@v2
3954
with:
4055
php-version: ${{ matrix.php-versions }}
4156

4257
- name: Install dependencies with Composer
43-
uses: ramsey/composer-install@v1
58+
uses: ramsey/composer-install@v3
4459
with:
4560
dependency-versions: ${{ matrix.dependencies }}
4661

0 commit comments

Comments
 (0)