@@ -64,13 +64,13 @@ unit-config: &unit-config
6464
6565 - run :
6666 name : PHP unit tests
67- command : vendor/bin/phpunit
67+ command : XDEBUG_MODE=coverage vendor/bin/phpunit
6868
6969 - run :
7070 name : PHP unit tests with extension
7171 command : |
7272 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
7474 else
7575 echo "Skipping units tests with extension"
7676 fi
@@ -107,29 +107,30 @@ jobs:
107107 docker :
108108 - image : circleci/php:7.3-zts-node
109109
110- php71-32bit :
110+ php74 :
111111 << : *unit-config
112112 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
119114
120- php71-debug :
115+ php74-zts :
121116 << : *unit-config
122117 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
129119
130- integration :
120+ php80 :
121+ << : *unit-config
131122 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
133134 - image : memcached
134135 - image : mysql:5.7
135136 environment :
@@ -202,11 +203,13 @@ jobs:
202203 - run :
203204 name : Pgsql test
204205 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/mysqldb210213 - run :
211214 name : Wordpress test
212215 command : tests/integration/wordpress/test.sh
@@ -216,6 +219,100 @@ jobs:
216219 DB_PASSWORD : mysql
217220 DB_DATABASE : mysqldb
218221
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/mysqldb305+ # 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+
219316workflows :
220317 version : 2
221318 units :
@@ -226,6 +323,9 @@ workflows:
226323 - php72-zts
227324 - php73
228325 - 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