@@ -8,7 +8,7 @@ concurrency:
8
8
cancel-in-progress : true
9
9
jobs :
10
10
phplint :
11
- name : Phplint
11
+ name : PHPCS on PHP 8.0
12
12
runs-on : ubuntu-latest
13
13
steps :
14
14
- name : Setup PHP version
@@ -17,62 +17,43 @@ jobs:
17
17
php-version : ' 8.0'
18
18
extensions : simplexml
19
19
- name : Checkout source code
20
- uses : actions/checkout@v2
21
- - name : Get Composer Cache Directory
22
- id : composer-cache
23
- run : |
24
- echo "::set-output name=dir::$(composer config cache-files-dir)"
25
- - name : Setup Composer cache
26
- uses : actions/cache@v1
27
- with :
28
- path : ${{ steps.composer-cache.outputs.dir }}
29
- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
30
- restore-keys : |
31
- ${{ runner.os }}-composer-
32
- - name : Install composer
20
+ uses : actions/checkout@v4
21
+ - name : Install Composer dependencies
33
22
run : composer install --prefer-dist --no-progress --no-suggest
34
23
- name : Run PHPCS
35
- run : composer run lint
24
+ run : composer phpcs
36
25
phpunit :
37
- name : Phpunit
26
+ name : PHPUnit tests on ${{ matrix.php-versions }}
38
27
runs-on : ubuntu-latest
28
+ strategy :
29
+ fail-fast : false
30
+ matrix :
31
+ php-versions : [ '7.4', '8.0', '8.1', '8.2', '8.3' ]
39
32
services :
40
- mysql :
41
- image : mysql:5.7
33
+ database :
34
+ image : mysql:latest
42
35
env :
36
+ MYSQL_DATABASE : wordpress_tests
43
37
MYSQL_ROOT_PASSWORD : root
44
38
ports :
45
- - 3306/tcp
46
- options : --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
39
+ - 3306:3306
47
40
steps :
48
41
- name : Setup PHP version
49
42
uses : shivammathur/setup-php@v2
50
43
with :
51
- php-version : ' 8.0 '
44
+ php-version : ${{ matrix.php-version }}
52
45
extensions : simplexml, mysql
53
- tools : phpunit-polyfills
46
+ tools : phpunit-polyfills:1.1
54
47
- name : Checkout source code
55
- uses : actions/checkout@v2
48
+ uses : actions/checkout@v4
56
49
- name : Install WordPress Test Suite
57
- run : |
58
- bash bin/install-wp-tests.sh wordpress_test root root 127.0.0.1:${{ job.services.mysql.ports['3306'] }}
59
- - name : Get Composer Cache Directory
60
- id : composer-cache
61
- run : |
62
- echo "::set-output name=dir::$(composer config cache-files-dir)"
63
- - name : Setup Composer cache
64
- uses : actions/cache@v1
65
- with :
66
- path : ${{ steps.composer-cache.outputs.dir }}
67
- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
68
- restore-keys : |
69
- ${{ runner.os }}-composer-
70
- - name : Install composer
50
+ run : bash bin/install-wp-tests.sh wordpress_tests root root 127.0.0.1 latest true
51
+ - name : Install Composer dependencies
71
52
run : composer install --prefer-dist --no-progress --no-suggest --no-dev
72
53
- name : Run phpunit
73
54
run : phpunit
74
55
phpstan :
75
- name : PHPStan
56
+ name : PHPStan on PHP 8.0
76
57
runs-on : ubuntu-latest
77
58
steps :
78
59
- name : Setup PHP version
81
62
php-version : ' 8.0'
82
63
extensions : simplexml, mysql
83
64
- name : Checkout source code
84
- uses : actions/checkout@v2
85
- - name : Get Composer Cache Directory
86
- id : composer-cache
87
- run : |
88
- echo "::set-output name=dir::$(composer config cache-files-dir)"
89
- - name : Setup Composer cache
90
- uses : actions/cache@v1
91
- with :
92
- path : ${{ steps.composer-cache.outputs.dir }}
93
- key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
94
- restore-keys : |
95
- ${{ runner.os }}-composer-
96
- - name : Install composer
65
+ uses : actions/checkout@v4
66
+ - name : Install Composer dependencies
97
67
run : composer install --prefer-dist --no-progress --no-suggest
98
68
- name : PHPStan Static Analysis
99
69
run : composer phpstan
0 commit comments