Skip to content

Commit f5715d2

Browse files
committed
Update CI
1 parent df37d00 commit f5715d2

File tree

4 files changed

+44
-53
lines changed

4 files changed

+44
-53
lines changed

.github/workflows/continuous-integration.yml

+14-23
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ on:
55
- pull_request
66

77
env:
8-
COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist"
98
SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT: "1"
109

10+
permissions:
11+
contents: read
12+
1113
jobs:
1214
tests:
1315
name: "CI"
@@ -30,33 +32,22 @@ jobs:
3032
- "8.1"
3133
- "8.2"
3234
- "8.3"
35+
- "8.4"
3336

3437
steps:
35-
- name: "Checkout"
36-
uses: "actions/checkout@v4"
38+
- uses: actions/checkout@v4
3739

38-
- name: "Install PHP"
39-
uses: "shivammathur/setup-php@v2"
40+
- uses: shivammathur/setup-php@v2
4041
with:
41-
coverage: "none"
4242
php-version: "${{ matrix.php-version }}"
43+
coverage: none
4344

44-
- name: Get composer cache directory
45-
id: composercache
46-
run: "echo \"dir=$(composer config cache-files-dir)\" >> $GITHUB_OUTPUT"
45+
- name: "Remove PHPStan as it requires a newer PHP"
46+
run: composer remove phpstan/phpstan --dev --no-update
4747

48-
- name: Cache dependencies
49-
uses: actions/cache@v4
48+
- uses: ramsey/composer-install@v3
5049
with:
51-
path: ${{ steps.composercache.outputs.dir }}
52-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
53-
restore-keys: ${{ runner.os }}-composer-
54-
55-
- name: "Install latest dependencies"
56-
run: |
57-
# Remove PHPStan as it requires a newer PHP
58-
composer remove phpstan/phpstan --dev --no-update
59-
composer update ${{ env.COMPOSER_FLAGS }}
60-
61-
- name: "Run tests"
62-
run: "vendor/bin/simple-phpunit --verbose"
50+
dependency-versions: highest
51+
52+
- name: Run tests
53+
run: vendor/bin/simple-phpunit --verbose

.github/workflows/lint.yml

+20-7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
- push
55
- pull_request
66

7+
permissions:
8+
contents: read
9+
710
jobs:
811
tests:
912
name: "Lint"
@@ -15,17 +18,27 @@ jobs:
1518
php-version:
1619
- "5.3"
1720
- "7.4"
18-
- "8.3"
21+
- "nightly"
1922

2023
steps:
21-
- name: "Checkout"
22-
uses: "actions/checkout@v4"
24+
- uses: actions/checkout@v4
2325

24-
- name: "Install PHP"
25-
uses: "shivammathur/setup-php@v2"
26+
- uses: shivammathur/setup-php@v2
2627
with:
27-
coverage: "none"
2828
php-version: "${{ matrix.php-version }}"
29+
coverage: none
2930

3031
- name: "Lint PHP files"
31-
run: "find src/ -type f -name '*.php' -print0 | xargs -0 -L1 -P4 -- php -l -f"
32+
run: |
33+
hasErrors=0
34+
for f in $(find src/ tests/ -type f -name '*.php' ! -path '*/vendor/*' ! -path '*/Fixtures/*')
35+
do
36+
{ error="$(php -derror_reporting=-1 -ddisplay_errors=1 -l -f $f 2>&1 1>&3 3>&-)"; } 3>&1;
37+
if [ "$error" != "" ]; then
38+
while IFS= read -r line; do echo "::error file=$f::$line"; done <<< "$error"
39+
hasErrors=1
40+
fi
41+
done
42+
if [ $hasErrors -eq 1 ]; then
43+
exit 1
44+
fi

.github/workflows/phpstan.yml

+8-21
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ on:
44
- push
55
- pull_request
66

7-
env:
8-
COMPOSER_FLAGS: "--ansi --no-interaction --no-progress --prefer-dist"
9-
SYMFONY_PHPUNIT_VERSION: ""
7+
permissions:
8+
contents: read
109

1110
jobs:
1211
tests:
@@ -23,30 +22,18 @@ jobs:
2322
phpunit-version-constraint: "^9.6"
2423

2524
steps:
26-
- name: "Checkout"
27-
uses: "actions/checkout@v4"
25+
- uses: actions/checkout@v4
2826

29-
- name: "Install PHP"
30-
uses: "shivammathur/setup-php@v2"
27+
- uses: shivammathur/setup-php@v2
3128
with:
32-
coverage: "none"
3329
php-version: "${{ matrix.php-version }}"
30+
coverage: none
3431

35-
- name: Get composer cache directory
36-
id: composercache
37-
run: "echo \"dir=$(composer config cache-files-dir)\" >> $GITHUB_OUTPUT"
38-
39-
- name: Cache dependencies
40-
uses: actions/cache@v4
32+
- uses: ramsey/composer-install@v3
4133
with:
42-
path: ${{ steps.composercache.outputs.dir }}
43-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
44-
restore-keys: ${{ runner.os }}-composer-
45-
46-
- name: "Install latest dependencies"
47-
run: "composer update ${{ env.COMPOSER_FLAGS }}"
34+
dependency-versions: highest
4835

4936
- name: Run PHPStan
5037
run: |
51-
composer require --dev phpunit/phpunit:"${{ matrix.phpunit-version-constraint }}" --with-all-dependencies ${{ env.COMPOSER_FLAGS }}
38+
composer require --dev phpunit/phpunit:"${{ matrix.phpunit-version-constraint }}" --with-all-dependencies -n
5239
vendor/bin/phpstan analyse

composer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
"php": "^5.3.2 || ^7.0 || ^8.0"
3535
},
3636
"require-dev": {
37-
"symfony/phpunit-bridge": "^4.2 || ^5",
38-
"phpstan/phpstan": "^1.4"
37+
"symfony/phpunit-bridge": "^3 || ^7",
38+
"phpstan/phpstan": "^1.11"
3939
},
4040
"autoload": {
4141
"psr-4": {

0 commit comments

Comments
 (0)