@@ -4,44 +4,40 @@ on: ["push", "pull_request"]
4
4
5
5
env :
6
6
COMPOSER_ALLOW_SUPERUSER : ' 1'
7
- SYMFONY_PHPUNIT_VERSION : 9.5
8
- SYMFONY_PHPUNIT_REMOVE_RETURN_TYPEHINT : 1
9
7
SYMFONY_DEPRECATIONS_HELPER : max[self]=0
10
8
11
9
jobs :
12
10
analyze :
13
11
name : Analyze
14
12
runs-on : ubuntu-latest
15
13
container :
16
- image : php:7.4 -alpine
14
+ image : php:8.3 -alpine
17
15
options : >-
18
16
--tmpfs /tmp:exec
19
17
--tmpfs /var/tmp:exec
20
18
steps :
21
19
- name : Checkout
22
- uses : actions/checkout@v2
20
+ uses : actions/checkout@v4
23
21
- name : Install Composer
24
22
run : wget -qO - https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --quiet
25
- - name : Cache Composer dependencies
26
- uses : actions/cache@v1
23
+ - name : Get Composer Cache Directory
24
+ id : composer-cache
25
+ run : |
26
+ echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
27
+ - uses : actions/cache@v3
27
28
with :
28
- path : ~/ .composer/ cache
29
- key : composer-php ${{ matrix.php }}-highest-
29
+ path : ${{ steps .composer- cache.outputs.dir }}
30
+ key : ${{ runner.os }}-composer-8.3- highest-${{ hashFiles('**/composer.json') }}
30
31
restore-keys : |
31
- composer-php${{ matrix.php }}-highest-
32
- composer-
32
+ ${{ runner.os }}-composer-8.3-highest
33
33
- name : Validate Composer
34
34
run : composer validate
35
- - name : Install xsl PHP extension
36
- run : |
37
- apk add $PHPIZE_DEPS libxslt-dev
38
- docker-php-ext-install xsl
39
35
- name : Install highest dependencies with Composer
40
- run : composer update --no-progress --ansi
36
+ run : composer update --no-progress --no-suggest -- ansi
41
37
- name : Disable PHP memory limit
42
38
run : echo 'memory_limit=-1' >> /usr/local/etc/php/php.ini
43
- - name : Analyze
44
- run : vendor/bin/phpqa --execution no-parallel --progress-delay=-1 --ansi
39
+ - name : Run CS-Fixer
40
+ run : vendor/bin/php-cs-fixer fix --dry-run --diff --format=checkstyle
45
41
46
42
phpunit :
47
43
name : PHPUnit (PHP ${{ matrix.php }} Deps ${{ matrix.dependencies }})
@@ -54,93 +50,79 @@ jobs:
54
50
strategy :
55
51
matrix :
56
52
php :
57
- - ' 7.2'
58
- - ' 7.3'
59
- - ' 7.4'
60
- - ' 8.0'
61
53
- ' 8.1'
54
+ - ' 8.2'
55
+ - ' 8.3'
62
56
dependencies :
63
- - lowest
64
- - highest
57
+ - ' lowest'
58
+ - ' highest'
65
59
include :
66
- - php : ' 7.2'
67
- phpunit-version : 8.5
68
- - php : ' 7.3'
69
- phpunit-version : 9.5
70
- - php : ' 7.4'
71
- phpunit-version : 9.5
72
- - php : ' 8.0'
73
- phpunit-version : 9.5
74
60
- php : ' 8.1'
75
- phpunit-version : 9.5
61
+ phpunit-version : 10
62
+ - php : ' 8.2'
63
+ phpunit-version : 10
64
+ - php : ' 8.3'
65
+ phpunit-version : 10
76
66
fail-fast : false
77
67
steps :
78
68
- name : Checkout
79
- uses : actions/checkout@v2
69
+ uses : actions/checkout@v4
80
70
- name : Install Composer
81
71
run : wget -qO - https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --quiet
82
- - name : Cache Composer dependencies
83
- uses : actions/cache@v1
72
+ - name : Get Composer Cache Directory
73
+ id : composer-cache
74
+ run : |
75
+ echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
76
+ - uses : actions/cache@v3
84
77
with :
85
- path : ~/ .composer/ cache
86
- key : composer-php ${{ matrix.php }}-${{ matrix.dependencies }}-
78
+ path : ${{ steps .composer- cache.outputs.dir }}
79
+ key : ${{ runner.os }}- composer-${{ matrix.php }}-${{ matrix.dependencies }}-${{ hashFiles('**/composer.json') }}
87
80
restore-keys : |
88
- composer-php${{ matrix.php }}-${{ matrix.dependencies }}-
89
- composer-
90
- - name : Install xsl PHP extension
91
- run : |
92
- apk add $PHPIZE_DEPS libxslt-dev
93
- docker-php-ext-install xsl
81
+ ${{ runner.os }}-composer-${{ matrix.php }}-${{ matrix.dependencies }}
94
82
- name : Install lowest dependencies with Composer
95
83
if : matrix.dependencies == 'lowest'
96
- run : composer update --no-progress --prefer-stable --prefer-lowest --ansi
84
+ run : composer update --no-progress --no-suggest -- prefer-stable --prefer-lowest --ansi
97
85
- name : Install highest dependencies with Composer
98
86
if : matrix.dependencies == 'highest'
99
- run : composer update --no-progress --ansi
87
+ run : composer update --no-progress --no-suggest -- ansi
100
88
- name : Run tests with PHPUnit
101
89
env :
102
- SYMFONY_PHPUNIT_VERSION : ${{ matrix.phpunit-version }}
90
+ SYMFONY_MAX_PHPUNIT_VERSION : ${{ matrix.phpunit-version }}
103
91
run : vendor/bin/simple-phpunit --colors=always
104
92
105
93
coverage :
106
- name : Coverage (PHP ${{ matrix.php }} )
94
+ name : Coverage (PHP 8.3 )
107
95
runs-on : ubuntu-latest
108
96
container :
109
- image : php:${{ matrix.php }} -alpine
97
+ image : php:8.3 -alpine
110
98
options : >-
111
99
--tmpfs /tmp:exec
112
100
--tmpfs /var/tmp:exec
113
- strategy :
114
- matrix :
115
- php :
116
- - ' 7.4'
117
101
steps :
118
102
- name : Checkout
119
- uses : actions/checkout@v2
103
+ uses : actions/checkout@v4
120
104
- name : Install pcov PHP extension
121
105
run : |
122
106
apk add $PHPIZE_DEPS
123
107
pecl install pcov
124
108
docker-php-ext-enable pcov
125
109
- name : Install Composer
126
110
run : wget -qO - https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --quiet
127
- - name : Cache Composer dependencies
128
- uses : actions/cache@v1
111
+ - name : Get Composer Cache Directory
112
+ id : composer-cache
113
+ run : |
114
+ echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
115
+ - uses : actions/cache@v3
129
116
with :
130
- path : ~/ .composer/ cache
131
- key : composer-php ${{ matrix.php }}-highest-
117
+ path : ${{ steps .composer- cache.outputs.dir }}
118
+ key : ${{ runner.os }}-composer-8.3- highest-${{ hashFiles('**/composer.json') }}
132
119
restore-keys : |
133
- composer-php${{ matrix.php }}-highest-
134
- composer-
135
- - name : Install xsl PHP extension
136
- run : |
137
- apk add $PHPIZE_DEPS libxslt-dev
138
- docker-php-ext-install xsl
120
+ ${{ runner.os }}-composer-8.3-highest
139
121
- name : Install highest dependencies with Composer
140
- run : composer update --no-progress --ansi
122
+ run : composer update --no-progress --no-suggest -- ansi
141
123
- name : Run coverage with PHPUnit
142
124
run : vendor/bin/simple-phpunit --coverage-clover ./coverage.xml --colors=always
143
125
- name : Send code coverage report to Codecov.io
144
- uses : codecov/codecov-action@v1.0.3 # 1.0.4+ uncompatible alpine :/
126
+ uses : codecov/codecov-action@v3
145
127
with :
146
128
token : ${{ secrets.CODECOV_TOKEN }}
0 commit comments