summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Watkins <krakjoe@php.net>2019-06-11 10:25:39 +0200
committerJoe Watkins <krakjoe@php.net>2019-06-11 10:25:39 +0200
commitdb86375c3ebca0f8c4a8398851223b348958ab39 (patch)
tree7c13648edabf385d107bc7b6740edd375a4fcc42
parent14692df82b1c13895f55f8fc4b09053b94c89d41 (diff)
parent3ff489d8e8672ca5cd23f4836ce86fbbd46b2ec4 (diff)
downloadphp-git-db86375c3ebca0f8c4a8398851223b348958ab39.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: i386 build
-rw-r--r--azure-pipelines.yml32
-rw-r--r--azure/i386/apt.yml47
-rw-r--r--azure/i386/job.yml103
-rw-r--r--azure/i386/test.yml32
-rw-r--r--ext/calendar/tests/unixtojd_error1.phpt2
5 files changed, 206 insertions, 10 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 69fcde6617..d381dd6850 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -6,22 +6,38 @@ trigger:
- master
jobs:
- - template: azure/job.yml
- parameters:
- configurationName: RELEASE_NTS
- configurationParameters: '--disable-debug --disable-zts'
+# - template: azure/job.yml
+# parameters:
+# configurationName: RELEASE_NTS
+# configurationParameters: '--disable-debug --disable-zts'
- template: azure/job.yml
parameters:
configurationName: DEBUG_NTS
configurationParameters: '--enable-debug --disable-zts'
- - template: azure/job.yml
- parameters:
- configurationName: RELEASE_ZTS
- configurationParameters: '--disable-debug --enable-zts'
+# - template: azure/job.yml
+# parameters:
+# configurationName: RELEASE_ZTS
+# configurationParameters: '--disable-debug --enable-zts'
- template: azure/job.yml
parameters:
configurationName: DEBUG_ZTS
configurationParameters: '--enable-debug --enable-zts'
+# - template: azure/i386/job.yml
+# parameters:
+# configurationName: I386_RELEASE_NTS
+# configurationParameters: '--disable-debug --disable-zts'
+ - template: azure/i386/job.yml
+ parameters:
+ configurationName: I386_DEBUG_NTS
+ configurationParameters: '--enable-debug --disable-zts'
+# - template: azure/i386/job.yml
+# parameters:
+# configurationName: I386_RELEASE_ZTS
+# configurationParameters: '--disable-debug --enable-zts'
+ - template: azure/i386/job.yml
+ parameters:
+ configurationName: I386_DEBUG_ZTS
+ configurationParameters: '--enable-debug --enable-zts'
- template: azure/macos/job.yml
parameters:
configurationName: MACOS_DEBUG_NTS
diff --git a/azure/i386/apt.yml b/azure/i386/apt.yml
new file mode 100644
index 0000000000..06f0fdbcec
--- /dev/null
+++ b/azure/i386/apt.yml
@@ -0,0 +1,47 @@
+parameters:
+ packages: ''
+
+steps:
+ - script: |
+ sudo dpkg --add-architecture i386
+ sudo apt-get update -y | true
+ sudo apt-get install -y gcc-multilib
+ sudo apt-get install -y g++-multilib
+ sudo apt-get install -y valgrind:i386
+ sudo apt-get install -y bison \
+ re2c \
+ locales \
+ language-pack-de \
+ libglib2.0-dev:i386 \
+ openssl:i386 \
+ zlib1g-dev:i386 \
+ libxml2-dev:i386 \
+ libgmp-dev:i386 \
+ libicu-dev:i386 \
+ libtidy-dev:i386 \
+ libenchant-dev:i386 \
+ libaspell-dev:i386 \
+ libpspell-dev:i386 \
+ librecode-dev:i386 \
+ libsasl2-dev:i386 \
+ libxpm-dev:i386 \
+ libjpeg-dev:i386 \
+ libpng-dev:i386 \
+ libzip-dev:i386 \
+ libbz2-dev:i386 \
+ libsqlite3-dev:i386 \
+ libwebp-dev:i386 \
+ libonig-dev:i386 \
+ libkrb5-dev:i386 \
+ libgssapi-krb5-2:i386 \
+ libcurl4-openssl-dev:i386 \
+ libxml2-dev:i386 \
+ libxslt1-dev:i386 \
+ libpq-dev:i386 \
+ libreadline-dev:i386 \
+ libffi-dev:i386 \
+ libfreetype6-dev:i386 \
+ postgresql \
+ postgresql-contrib \
+ ${{ parameters.packages }}
+ displayName: 'APT'
diff --git a/azure/i386/job.yml b/azure/i386/job.yml
new file mode 100644
index 0000000000..95c6d08bd9
--- /dev/null
+++ b/azure/i386/job.yml
@@ -0,0 +1,103 @@
+parameters:
+ configurationName: ''
+ configurationParameters: ''
+
+jobs:
+ - job: ${{ parameters.configurationName }}
+ pool:
+ vmImage: 'ubuntu-latest'
+ steps:
+ - checkout: self
+ fetchDepth: 1
+ - template: apt.yml
+ - script: |
+ ./buildconf --force
+ export CFLAGS=-m32
+ export CXXFLAGS=-m32
+ export LDFLAGS=-L/usr/lib/i386-linux-gnu
+ export PKG_CONFIG=/usr/bin/i686-linux-gnu-pkg-config
+ ./configure ${{ parameters.configurationParameters }} \
+ --prefix=/usr \
+ --enable-phpdbg \
+ --enable-fpm \
+ --enable-intl \
+ --with-pdo-mysql=mysqlnd \
+ --with-mysqli=mysqlnd \
+ --with-pgsql \
+ --with-pdo-pgsql \
+ --with-pdo-sqlite \
+ --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 \
+ --with-xmlrpc \
+ --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 \
+ --with-config-file-path=/etc \
+ --with-config-file-scan-dir=/etc/php.d
+ displayName: 'Configure Build'
+ - script: make -j$(/usr/bin/nproc) >/dev/null
+ displayName: 'Make Build'
+ - script: |
+ sudo make install
+ sudo mkdir /etc/php.d
+ sudo chmod 777 /etc/php.d
+ echo mysqli.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/mysqli.ini
+ echo pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/pdo_mysql.ini
+ displayName: 'Install Build'
+ - script: |
+ mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test"
+ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
+ sudo -u postgres psql -c "CREATE DATABASE test;"
+ displayName: 'Setup'
+# - ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: this will be uncommented on merge, we don't want to docker pull request builds
+ - task: Docker@2
+ inputs:
+ containerRegistry: 'phpazuredevops'
+ repository: ${{ variables['Build.SourceBranch'] }}
+ command: 'buildAndPush'
+ Dockerfile: '**/Dockerfile'
+ tags: ${{ parameters.configurationName }}
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'OpCache'
+ runTestsParameters: -d zend_extension=opcache.so -d opcache.enable_cli=1
+ - ${{ if ne(variables['Build.SourceBranch'], 'refs/heads/PHP-7.4') }}:
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'JIT'
+ runTestsParameters: -d zend_extension=opcache.so -d opcache.enable_cli=1 -d opcache.jit_buffer_size=16M
diff --git a/azure/i386/test.yml b/azure/i386/test.yml
new file mode 100644
index 0000000000..e2f8cec668
--- /dev/null
+++ b/azure/i386/test.yml
@@ -0,0 +1,32 @@
+parameters:
+ runTestsName: ''
+ runTestsParameters: ''
+
+steps:
+ - script: |
+ export MYSQL_TEST_USER=root
+ export MYSQL_TEST_PASSWD=root
+ export PDO_MYSQL_TEST_DSN="mysql:host=localhost;dbname=test"
+ export PDO_MYSQL_TEST_USER=root
+ export PDO_MYSQL_TEST_PASS=root
+ export TEST_PHP_JUNIT=junit.xml
+ export REPORT_EXIT_STATUS=no
+ export SKIP_IO_CAPTURE_TESTS=1
+ rm -rf junit.xml | true
+ php run-tests.php -P -q \
+ -j$(/usr/bin/nproc) \
+ -g FAIL,XFAIL,BORK,WARN,LEAK,XLEAK,SKIP \
+ --offline \
+ --show-slow 1000 \
+ --set-timeout 120 \
+ ${{ parameters.runTestsParameters }}
+ displayName: 'Test ${{ parameters.configurationName }} ${{ parameters.runTestsName }}'
+ condition: or(succeeded(), failed())
+ - task: PublishTestResults@2
+ inputs:
+ testResultsFormat: 'JUnit'
+ testResultsFiles: junit.xml
+ testRunTitle: '${{ parameters.configurationName }} ${{ parameters.runTestsName }}'
+ failTaskOnFailedTests: false
+ displayName: 'Export ${{ parameters.configurationName }} ${{ parameters.runTestsName }} Results'
+ condition: or(succeeded(), failed())
diff --git a/ext/calendar/tests/unixtojd_error1.phpt b/ext/calendar/tests/unixtojd_error1.phpt
index 89be28c792..88de9830ac 100644
--- a/ext/calendar/tests/unixtojd_error1.phpt
+++ b/ext/calendar/tests/unixtojd_error1.phpt
@@ -14,11 +14,9 @@ var_dump(unixtojd(-1)) . PHP_EOL;
var_dump(unixtojd(false)) . PHP_EOL;
var_dump(unixtojd(null)) . PHP_EOL;
var_dump(unixtojd(time())) . PHP_EOL;
-var_dump(unixtojd(PHP_INT_MAX)) . PHP_EOL;
?>
--EXPECTF--
bool(false)
int(%d)
int(%d)
int(%d)
-bool(false)