parameters: configurationName: '' configurationParameters: '' runTestsParameters: '' timeoutInMinutes: 60 jobs: - job: ${{ parameters.configurationName }} timeoutInMinutes: ${{ parameters.timeoutInMinutes }} pool: vmImage: 'ubuntu-18.04' steps: - template: apt.yml - script: | export CC=clang export CXX=clang++ export CFLAGS="-fsanitize=memory -DZEND_TRACK_ARENA_ALLOC" export LDFLAGS="-fsanitize=memory" ./buildconf --force # msan requires all used libraries to be instrumented, # so we should avoiding linking against anything but libc here ./configure ${{ parameters.configurationParameters }} \ --enable-option-checking=fatal \ --prefix=/usr \ --without-sqlite3 \ --without-pdo-sqlite \ --without-libxml \ --disable-dom \ --disable-simplexml \ --disable-xml \ --disable-xmlreader \ --disable-xmlwriter \ --without-pcre-jit \ --enable-phpdbg \ --enable-fpm \ --with-pdo-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --disable-mysqlnd-compression-support \ --without-pear \ --enable-exif \ --enable-sysvsem \ --enable-sysvshm \ --enable-shmop \ --enable-pcntl \ --enable-mbstring \ --disable-mbregex \ --enable-sockets \ --enable-bcmath \ --enable-calendar \ --enable-ftp \ --enable-zend-test \ --enable-werror \ --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: | sudo service mysql start mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test" displayName: 'Setup' - template: test.yml parameters: configurationName: ${{ parameters.configurationName }} runTestsParameters: ${{ parameters.runTestsParameters }} - template: test.yml parameters: configurationName: ${{ parameters.configurationName }} runTestsName: 'OpCache' runTestsParameters: >- ${{ parameters.runTestsParameters }} -d zend_extension=opcache.so -d opcache.enable_cli=1