Merge branch 'PHP-8.2' into PHP-8.3

* PHP-8.2:
  Move ARM build to CircleCI
This commit is contained in:
Ilija Tovilo 2023-10-12 13:14:52 +02:00
commit b35e0c3069
No known key found for this signature in database
GPG key ID: A4F5D403F118200A
5 changed files with 202 additions and 206 deletions

198
.circleci/config.yml Normal file
View file

@ -0,0 +1,198 @@
version: 2.1
jobs:
arm:
resource_class: arm.medium
docker:
- image: cimg/base:current-22.04
- image: mysql:8
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: true
MYSQL_ROOT_PASSWORD: ''
MYSQL_DATABASE: test
- image: postgres:16
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: test
environment:
LANGUAGE: ''
LANG: en_US.UTF-8
MYSQL_TEST_HOST: '127.0.0.1'
MYSQL_TEST_PASSWD: ''
MYSQL_TEST_USER: root
PDO_MYSQL_TEST_DSN: 'mysql:host=127.0.0.1;dbname=test'
PDO_MYSQL_TEST_PASS: ''
PDO_MYSQL_TEST_USER: root
PDO_PGSQL_TEST_DSN: 'pgsql:host=127.0.0.1 port=5432 dbname=test user=postgres password=postgres'
steps:
- checkout
- run:
name: apt
command: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get update -y
sudo apt-get install -y \
gcc \
g++ \
autoconf \
bison \
re2c \
locales \
locales-all \
ldap-utils \
openssl \
slapd \
libgmp-dev \
libicu-dev \
libtidy-dev \
libenchant-2-dev \
libaspell-dev \
libpspell-dev \
libsasl2-dev \
libxpm-dev \
libzip-dev \
libbz2-dev \
libsqlite3-dev \
libwebp-dev \
libonig-dev \
libkrb5-dev \
libgssapi-krb5-2 \
libcurl4-openssl-dev \
libxml2-dev \
libxslt1-dev \
libpq-dev \
libreadline-dev \
libldap2-dev \
libsodium-dev \
libargon2-0-dev \
libmm-dev \
libsnmp-dev \
snmpd \
`#snmp-mibs-downloader` \
freetds-dev \
`#unixodbc-dev` \
libc-client-dev \
dovecot-core \
dovecot-pop3d \
dovecot-imapd \
sendmail \
firebird-dev \
liblmdb-dev \
libtokyocabinet-dev \
libdb-dev \
libqdbm-dev \
libjpeg-dev \
libpng-dev \
libfreetype6-dev
- run:
name: ./configure
command: |
./buildconf -f
./configure \
--enable-debug \
--enable-zts \
--enable-option-checking=fatal \
--prefix=/usr \
--enable-phpdbg \
--enable-fpm \
--enable-opcache \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pgsql \
--with-pdo-pgsql \
--with-pdo-sqlite \
--enable-intl \
--without-pear \
--enable-gd \
--with-jpeg \
--with-webp \
--with-freetype \
--with-xpm \
--enable-exif \
--with-zip \
--with-zlib \
--with-zlib-dir=/usr \
--enable-soap \
--enable-xmlreader \
--with-xsl \
--with-tidy \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
--enable-pcntl \
--with-readline \
--enable-mbstring \
--with-curl \
--with-gettext \
--enable-sockets \
--with-bz2 \
--with-openssl \
--with-gmp \
--enable-bcmath \
--enable-calendar \
--enable-ftp \
--with-pspell=/usr \
--with-enchant=/usr \
--with-kerberos \
--enable-sysvmsg \
--with-ffi \
--enable-zend-test \
--enable-dl-test=shared \
--with-ldap \
--with-ldap-sasl \
--with-password-argon2 \
--with-mhash \
--with-sodium \
--enable-dba \
--with-cdb \
--enable-flatfile \
--enable-inifile \
--with-tcadb \
--with-lmdb \
--with-qdbm \
--with-snmp \
`#--with-unixODBC` \
--with-imap \
--with-kerberos \
--with-imap-ssl \
`#--with-pdo-odbc=unixODBC,/usr` \
`#--with-pdo-oci=shared,instantclient,/opt/oracle/instantclient` \
`#--with-oci8=shared,instantclient,/opt/oracle/instantclient` \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-pdo-firebird \
`#--with-pdo-dblib` \
--disable-phpdbg \
`#--enable-werror`
- run:
name: make
command: make -j2 > /dev/null
- run:
name: make install
command: |
sudo make install
sudo mkdir -p /etc/php.d
sudo chmod 777 /etc/php.d
echo opcache.enable_cli=1 > /etc/php.d/opcache.ini
echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini
- run:
name: Test
command: |
sapi/cli/php run-tests.php \
-d zend_extension=opcache.so \
-d opcache.enable_cli=1 \
-d opcache.jit_buffer_size=16M \
-d opcache.jit=tracing \
-P -q -x -j2 \
-g FAIL,BORK,LEAK,XLEAK \
--no-progress \
--offline \
--show-diff \
--show-slow 1000 \
--set-timeout 120 \
--repeat 2
workflows:
push-workflow:
jobs:
- arm

View file

@ -28,205 +28,3 @@ freebsd_task:
- export CI_NO_IPV6=1
- export STACK_LIMIT_DEFAULTS_CHECK=1
- sapi/cli/php run-tests.php -P -q -j2 -g FAIL,BORK,LEAK,XLEAK --no-progress --offline --show-diff --show-slow 1000 --set-timeout 120 -d zend_extension=opcache.so
arm_task:
name: ARM_DEBUG_NTS
only_if: $CIRRUS_CRON == 'nightly' || $CIRRUS_CHANGE_TITLE =~ '.*\[ci arm\].*'
arm_container:
image: debian:12
additional_containers:
- name: mysql
image: mysql:8
port: 3306
cpu: 1.0
memory: 1G
env:
MYSQL_ALLOW_EMPTY_PASSWORD: true
MYSQL_ROOT_PASSWORD: ""
MYSQL_DATABASE: "test"
- name: postgres
image: postgres:latest
port: 5432
env:
POSTGRES_PASSWORD: "postgres"
POSTGRES_DB: "test"
install_script:
- export DEBIAN_FRONTEND=noninteractive
- apt-get update -y
- >-
apt-get install -y
gcc
g++
autoconf
bison
re2c
locales
locales-all
ldap-utils
openssl
slapd
libgmp-dev
libicu-dev
libtidy-dev
libenchant-2-dev
libaspell-dev
libpspell-dev
libsasl2-dev
libxpm-dev
libzip-dev
libbz2-dev
libsqlite3-dev
libwebp-dev
libonig-dev
libkrb5-dev
libgssapi-krb5-2
libcurl4-openssl-dev
libxml2-dev
libxslt1-dev
libpq-dev
libreadline-dev
libldap2-dev
libsodium-dev
libargon2-0-dev
libmm-dev
libsnmp-dev
snmpd
`#snmp-mibs-downloader`
freetds-dev
`#unixodbc-dev`
libc-client-dev
dovecot-core
dovecot-pop3d
dovecot-imapd
sendmail
firebird-dev
liblmdb-dev
libtokyocabinet-dev
libdb-dev
libqdbm-dev
libjpeg-dev
libpng-dev
libfreetype6-dev
build_script:
- ./buildconf -f
- >-
./configure
--enable-debug
--enable-zts
--enable-option-checking=fatal
--prefix=/usr
--enable-phpdbg
--enable-fpm
--enable-opcache
--with-pdo-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pgsql
--with-pdo-pgsql
--with-pdo-sqlite
--enable-intl
--without-pear
--enable-gd
--with-jpeg
--with-webp
--with-freetype
--with-xpm
--enable-exif
--with-zip
--with-zlib
--with-zlib-dir=/usr
--enable-soap
--enable-xmlreader
--with-xsl
--with-tidy
--enable-sysvsem
--enable-sysvshm
--enable-shmop
--enable-pcntl
--with-readline
--enable-mbstring
--with-curl
--with-gettext
--enable-sockets
--with-bz2
--with-openssl
--with-gmp
--enable-bcmath
--enable-calendar
--enable-ftp
--with-pspell=/usr
--with-enchant=/usr
--with-kerberos
--enable-sysvmsg
--with-ffi
--enable-zend-test
--enable-dl-test=shared
--with-ldap
--with-ldap-sasl
--with-password-argon2
--with-mhash
--with-sodium
--enable-dba
--with-cdb
--enable-flatfile
--enable-inifile
--with-tcadb
--with-lmdb
--with-qdbm
--with-snmp
`#--with-unixODBC`
--with-imap
--with-kerberos
--with-imap-ssl
`#--with-pdo-odbc=unixODBC,/usr`
`#--with-pdo-oci=shared,instantclient,/opt/oracle/instantclient`
`#--with-oci8=shared,instantclient,/opt/oracle/instantclient`
--with-config-file-path=/etc
--with-config-file-scan-dir=/etc/php.d
--with-pdo-firebird
`#--with-pdo-dblib`
--disable-phpdbg
`#--enable-werror`
- make -j2 > /dev/null
- make install
- mkdir -p /etc/php.d
- echo opcache.enable_cli=1 > /etc/php.d/opcache.ini
- echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini
# Specify opcache.preload_user as we're running as root.
- echo opcache.preload_user=root >> /etc/php.d/opcache.ini
tests_script:
- export SKIP_IO_CAPTURE_TESTS=1
- export CI_NO_IPV6=1
- export MYSQL_TEST_HOST=127.0.0.1
- export MYSQL_TEST_USER=root
- export MYSQL_TEST_PASSWD=
- export PDO_MYSQL_TEST_DSN="mysql:host=127.0.0.1;dbname=test"
- export PDO_MYSQL_TEST_USER=root
- export PDO_MYSQL_TEST_PASS=
- export PDO_PGSQL_TEST_DSN="pgsql:host=127.0.0.1 port=5432 dbname=test user=postgres password=postgres"
- >-
sapi/cli/php run-tests.php
-d zend_extension=opcache.so
-d opcache.enable_cli=1
-d opcache.jit_buffer_size=16M
-d opcache.jit=function
-P -q -x -j2
-g FAIL,BORK,LEAK,XLEAK
--no-progress
--offline
--show-diff
--show-slow 1000
--set-timeout 120
- >-
sapi/cli/php run-tests.php
-d zend_extension=opcache.so
-d opcache.enable_cli=1
-d opcache.jit_buffer_size=16M
-d opcache.jit=tracing
-P -q -x -j2
-g FAIL,BORK,LEAK,XLEAK
--no-progress
--offline
--show-diff
--show-slow 1000
--set-timeout 120
--repeat 2

View file

@ -12,6 +12,7 @@ on:
- .cirrus.yml
- .travis.yml
- travis/*
- .circleci/*
branches:
- PHP-7.4
- PHP-8.0
@ -31,6 +32,7 @@ on:
- .cirrus.yml
- .travis.yml
- travis/*
- .circleci/*
branches:
- '**'
permissions:

View file

@ -6,7 +6,7 @@ pdo_mysql
<?php
require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
MySQLPDOTest::skip();
if (getenv('CIRRUS_CI')) die('xfail Broken on Cirrus');
if (getenv('CIRCLECI')) die('xfail Broken on CicleCI');
?>
--FILE--
<?php

View file

@ -12,9 +12,7 @@ curl_setopt($handle, CURLOPT_VERBOSE, true);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
if (!@curl_setopt($handle, CURLOPT_STDERR, fopen("php://memory", "w+")))
die("skip fopencookie not supported on this platform");
if (getenv('CIRRUS_CI') && strpos(php_uname('m'), 'aarch64') !== false) {
die('xfail Broken on Cirrus+ARM');
}
if (getenv('CIRCLECI')) die('xfail Broken on CircleCI');
?>
--FILE--
<?php