-
Notifications
You must be signed in to change notification settings - Fork 30
146 lines (144 loc) · 4.91 KB
/
test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
name: Test
on: push
jobs:
phpcs:
name: PHP Coding Standards
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP 7.4
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, mysql, mysqli, pdo_mysql, bcmath, soap, intl, gd, exif, iconv, imagick
coverage: none
- name: Install Composer dependencies
uses: "ramsey/composer-install@v2"
- name: Coding Standards
run: composer phpcs
phpstan:
name: PHPStan
runs-on: ubuntu-latest
strategy:
matrix:
php: ['7.4', '8.2']
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP 7.4
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, mysql, mysqli, pdo_mysql, bcmath, soap, intl, gd, exif, iconv, imagick
coverage: none
- name: Install Composer dependencies
uses: "ramsey/composer-install@v2"
- name: Install Composer build dependencies
run: composer bin build install --no-progress
- name: Compose dependencies
run: composer compose
- name: Setup PHP ${{ matrix.php }}
# https://github.com/shivammathur/setup-php/issues/446#issuecomment-824001225
uses: shivammathur/setup-php@develop
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, mysql, mysqli, pdo_mysql, bcmath, soap, intl, gd, exif, iconv, imagick
coverage: none
tools: none
- name: Analyze
run: composer phpstan
phplint:
name: PHP Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP 7.4
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, mysql, mysqli, pdo_mysql, bcmath, soap, intl, gd, exif, iconv, imagick
coverage: none
- name: Install Composer dependencies
uses: "ramsey/composer-install@v2"
- name: Install Composer build dependencies
run: composer bin build install --no-progress
- name: Compose dependencies
run: composer compose
- name: Lint
run: composer phplint
phpunit:
name: PHPUnit
runs-on: ubuntu-latest
strategy:
matrix:
php: ['7.4', '8.0', '8.1', '8.2']
services:
mysql:
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wp_phpunit_tests
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Setup PHP 7.4
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, mysql, mysqli, pdo_mysql, bcmath, soap, intl, gd, exif, iconv, imagick
coverage: none
- name: Checkout
uses: actions/checkout@v2
- name: Set Composer version
run: composer self-update --2.2
- name: Install Composer dependencies
uses: "ramsey/composer-install@v2"
- name: Install Composer build dependencies
run: composer bin build install --no-progress
- name: Compose dependencies
run: composer compose
- name: Remove unused dependencies
run: composer remove --dev szepeviktor/phpstan-wordpress
- name: Setup PHP ${{ matrix.php }}
# https://github.com/shivammathur/setup-php/issues/446#issuecomment-824001225
uses: shivammathur/setup-php@develop
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, mysql, mysqli, pdo_mysql, bcmath, soap, intl, gd, exif, iconv, imagick
coverage: none
tools: none
- name: PHPUnit
env:
WP_DB_HOST: 127.0.0.1:${{ job.services.mysql.ports['3306'] }}
run: composer phpunit
css:
name: CSS Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: '12'
- name: Install Node dependencies
uses: bahmutov/npm-install@v1
- name: CSS lint
run: yarn lint:css
js:
name: JS Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: '12'
- name: Install Node dependencies
uses: bahmutov/npm-install@v1
- name: JS lint
run: yarn lint:js