Skip to content

Commit 4c5f9d1

Browse files
snapshotplclaude
andcommitted
Update CI matrix and actions
Run on pull requests, cover PHP 8.2 and 8.3, and stop using the retired actions/checkout@v2 and ramsey/composer-install@v1. PHP 7.3 and 7.4 leave the matrix. Composer 2.10, which setup-php installs today, only accepts laminas-diactoros 2.18.1 and newer as a provider of psr/http-factory-implementation, and those releases require PHP 8.0+, so the dev dependencies cannot be installed on 7.3/7.4 at all - with or without the changes in this branch. PHPStan moves to PHP 8.0 for the same reason. The lowest-dependency jobs stay on PHP 8.0: Slim 3.0, Pimple 3.0 and vfsStream 1.6.8 predate PHP 8.1 and fatal on load there, and 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. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent c000985 commit 4c5f9d1

1 file changed

Lines changed: 26 additions & 9 deletions

File tree

.github/workflows/tests.yml

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,63 @@
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:
14-
php-version: 7.3
15+
php-version: '8.0'
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
2628
- lowest
29+
# PHP 7.3 and 7.4 are not built here: no laminas-diactoros release
30+
# that Composer 2.10+ accepts as a psr/http-factory-implementation
31+
# provider supports them, so the dev dependencies cannot even be
32+
# installed on those versions.
2733
php-versions:
28-
- 7.3
29-
- 7.4
30-
- 8.0
31-
- 8.1
34+
- '8.0'
35+
- '8.1'
36+
- '8.2'
37+
- '8.3'
38+
exclude:
39+
# Lowest bounds of the dev dependencies (Slim 3.0, Pimple 3.0,
40+
# vfsStream 1.6.8) were released before PHP 8.1 and fatal on load
41+
# there. That is a limitation of those old releases, not of this
42+
# library: every tested PHP version is covered by the highest jobs.
43+
- dependencies: lowest
44+
php-versions: '8.1'
45+
- dependencies: lowest
46+
php-versions: '8.2'
47+
- dependencies: lowest
48+
php-versions: '8.3'
3249
runs-on: ubuntu-latest
3350
steps:
3451
- name: Checkout
35-
uses: actions/checkout@v2
52+
uses: actions/checkout@v4
3653

3754
- name: Setup PHP, with composer and extensions
3855
uses: shivammathur/setup-php@v2
3956
with:
4057
php-version: ${{ matrix.php-versions }}
4158

4259
- name: Install dependencies with Composer
43-
uses: ramsey/composer-install@v1
60+
uses: ramsey/composer-install@v3
4461
with:
4562
dependency-versions: ${{ matrix.dependencies }}
4663

0 commit comments

Comments
 (0)