@@ -64,13 +64,13 @@ unit-config: &unit-config
64
64
65
65
- run :
66
66
name : PHP unit tests
67
- command : vendor/bin/phpunit
67
+ command : XDEBUG_MODE=coverage vendor/bin/phpunit
68
68
69
69
- run :
70
70
name : PHP unit tests with extension
71
71
command : |
72
72
if [ $RUN_EXTENSION_TESTS -eq "1" ]; then
73
- php -d extension=opencensus.so vendor/bin/phpunit
73
+ XDEBUG_MODE=coverage php -d extension=opencensus.so vendor/bin/phpunit
74
74
else
75
75
echo "Skipping units tests with extension"
76
76
fi
@@ -107,29 +107,30 @@ jobs:
107
107
docker :
108
108
- image : circleci/php:7.3-zts-node
109
109
110
- php71-32bit :
110
+ php74 :
111
111
<< : *unit-config
112
112
docker :
113
- - image : gcr.io/php-stackdriver/php71-32bit
114
- environment :
115
- TEST_PHP_ARGS : -q
116
- REPORT_EXIT_STATUS : 1
117
- RUN_EXTENSION_TESTS : 1
118
- SUDO_CMD : " "
113
+ - image : circleci/php:7.4-node
119
114
120
- php71-debug :
115
+ php74-zts :
121
116
<< : *unit-config
122
117
docker :
123
- - image : gcr.io/php-stackdriver/php71-debug
124
- environment :
125
- TEST_PHP_ARGS : -q
126
- REPORT_EXIT_STATUS : 1
127
- RUN_EXTENSION_TESTS : 1
128
- SUDO_CMD : " "
118
+ - image : circleci/php:7.4-zts-node
129
119
130
- integration :
120
+ php80 :
121
+ << : *unit-config
131
122
docker :
132
- - image : circleci/php:7.2-node
123
+ - image : circleci/php:8.0-node
124
+
125
+ php80-zts :
126
+ << : *unit-config
127
+ docker :
128
+ - image : circleci/php:8.0-zts-node
129
+
130
+ # Integration tests running on PHP 7.4. When updating these, please also update `integration-8.0` further down.
131
+ integration-7.4 :
132
+ docker :
133
+ - image : circleci/php:7.4-node
133
134
- image : memcached
134
135
- image : mysql:5.7
135
136
environment :
@@ -202,11 +203,13 @@ jobs:
202
203
- run :
203
204
name : Pgsql test
204
205
command : tests/integration/pgsql/test.sh
205
- - run :
206
- name : Symfony 4 test
207
- command : tests/integration/symfony4/test.sh
208
- environment :
209
- DATABASE_URL :
mysql://mysql:[email protected] :3306/mysqldb
206
+ # Skipped due to a dependency incompatibility between "cache/adapter-common" and "psr/cache".
207
+ # TODO(mrmage): Re-enable this step once "cache/adapter-common" supports "psr/cache" v2.0/v3.0.
208
+ # - run:
209
+ # name: Symfony 4 test
210
+ # command: tests/integration/symfony4/test.sh
211
+ # environment:
212
+ # DATABASE_URL: mysql://mysql:[email protected] :3306/mysqldb
210
213
- run :
211
214
name : Wordpress test
212
215
command : tests/integration/wordpress/test.sh
@@ -216,6 +219,100 @@ jobs:
216
219
DB_PASSWORD : mysql
217
220
DB_DATABASE : mysqldb
218
221
222
+ # Integration tests running on PHP 8.0. When updating these, please also update `integration-7.4` further down.
223
+ integration-8.0 :
224
+ docker :
225
+ - image : circleci/php:8.0-node
226
+ - image : memcached
227
+ - image : mysql:5.7
228
+ environment :
229
+ MYSQL_USER : mysql
230
+ MYSQL_PASSWORD : mysql
231
+ MYSQL_DATABASE : mysqldb
232
+ MYSQL_RANDOM_ROOT_PASSWORD : yes
233
+ - image : postgres:9.6
234
+ environment :
235
+ POSTGRES_PASSWORD : pgsql
236
+ POSTGRES_USER : postgres
237
+ steps :
238
+ - checkout
239
+ - run :
240
+ name : Install build tools
241
+ command : |
242
+ sudo apt-get update -y
243
+ sudo apt-get install -y -q --no-install-recommends \
244
+ build-essential \
245
+ g++ \
246
+ gcc \
247
+ libc-dev \
248
+ libpqxx-dev \
249
+ make \
250
+ autoconf \
251
+ git \
252
+ unzip
253
+ - run :
254
+ name : Install opencensus extension
255
+ command : |
256
+ cd ext
257
+ phpize
258
+ ./configure --enable-opencensus
259
+ sudo make install
260
+ sudo docker-php-ext-enable opencensus
261
+ - run :
262
+ name : Install memcached extension
263
+ command : |
264
+ sudo apt-get install -y -q --no-install-recommends \
265
+ libmemcached11 libmemcached-dev zlib1g-dev zlib1g
266
+ sudo pecl install memcached <<<''
267
+ sudo docker-php-ext-enable memcached
268
+ - run :
269
+ name : Install pdo_mysql extension
270
+ command : sudo docker-php-ext-install pdo_mysql
271
+ - run :
272
+ name : Install mysqli extension
273
+ command : sudo docker-php-ext-install mysqli
274
+ - run :
275
+ name : Install pgsql extension
276
+ command : sudo docker-php-ext-install pgsql
277
+ - run :
278
+ name : Install pcntl extension
279
+ command : sudo docker-php-ext-install pcntl
280
+ - run :
281
+ name : Curl test
282
+ command : tests/integration/curl/test.sh
283
+ - run :
284
+ name : Guzzle 5 test
285
+ command : tests/integration/guzzle5/test.sh
286
+ - run :
287
+ name : Guzzle 6 test
288
+ command : tests/integration/guzzle6/test.sh
289
+ - run :
290
+ name : Laravel test
291
+ command : tests/integration/laravel/test.sh
292
+ - run :
293
+ name : Memcached test
294
+ command : tests/integration/memcached/test.sh
295
+ - run :
296
+ name : Pgsql test
297
+ command : tests/integration/pgsql/test.sh
298
+ # Skipped due to a dependency incompatibility between "cache/adapter-common" and "psr/cache".
299
+ # TODO(mrmage): Re-enable this step once "cache/adapter-common" supports "psr/cache" v2.0/v3.0.
300
+ # - run:
301
+ # name: Symfony 4 test
302
+ # command: tests/integration/symfony4/test.sh
303
+ # environment:
304
+ # DATABASE_URL: mysql://mysql:[email protected] :3306/mysqldb
305
+ # Skipped because "wp-cli" is currently not compatible with PHP 8 (see https://github.com/wp-cli/wp-cli/issues/5452).
306
+ # TODO(mrmage): Re-enable this step once "wp-cli" supports PHP 8.
307
+ # - run:
308
+ # name: Wordpress test
309
+ # command: tests/integration/wordpress/test.sh
310
+ environment :
311
+ DB_HOST : 127.0.0.1
312
+ DB_USERNAME : mysql
313
+ DB_PASSWORD : mysql
314
+ DB_DATABASE : mysqldb
315
+
219
316
workflows :
220
317
version : 2
221
318
units :
@@ -226,6 +323,9 @@ workflows:
226
323
- php72-zts
227
324
- php73
228
325
- php73-zts
229
- - php71-32bit
230
- - php71-debug
231
- - integration
326
+ - php74
327
+ - php74-zts
328
+ - php80
329
+ - php80-zts
330
+ - integration-7.4
331
+ - integration-8.0
0 commit comments