mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
Set up CI with Azure Pipelines
This commit is contained in:
parent
117f7720be
commit
74ce812007
21
azure-pipelines.yml
Normal file
21
azure-pipelines.yml
Normal file
@ -0,0 +1,21 @@
|
||||
trigger:
|
||||
- 7.4
|
||||
- master
|
||||
|
||||
jobs:
|
||||
- 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: DEBUG_ZTS
|
||||
configurationParameters: '--enable-debug --enable-zts'
|
35
azure/apt.yml
Normal file
35
azure/apt.yml
Normal file
@ -0,0 +1,35 @@
|
||||
parameters:
|
||||
packages: ''
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
sudo apt-get update -y | true
|
||||
sudo apt install bison \
|
||||
re2c \
|
||||
locales \
|
||||
language-pack-de \
|
||||
re2c \
|
||||
libgmp-dev \
|
||||
libicu-dev \
|
||||
libtidy-dev \
|
||||
libenchant-dev \
|
||||
libaspell-dev \
|
||||
libpspell-dev \
|
||||
librecode-dev \
|
||||
libsasl2-dev \
|
||||
libxpm-dev \
|
||||
libzip-dev \
|
||||
libsqlite3-dev \
|
||||
libwebp-dev \
|
||||
libonig-dev \
|
||||
libkrb5-dev \
|
||||
libgssapi-krb5-2 \
|
||||
libcurl4-openssl-dev \
|
||||
libxml2-dev \
|
||||
libxslt1-dev \
|
||||
libpq-dev \
|
||||
libreadline-dev \
|
||||
postgresql \
|
||||
postgresql-contrib \
|
||||
${{ parameters.packages }}
|
||||
displayName: 'APT'
|
92
azure/job.yml
Normal file
92
azure/job.yml
Normal file
@ -0,0 +1,92 @@
|
||||
parameters:
|
||||
configurationName: ''
|
||||
configurationParameters: ''
|
||||
|
||||
jobs:
|
||||
- job: ${{ parameters.configurationName }}
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- checkout: self
|
||||
fetchDepth: 1
|
||||
- template: apt.yml
|
||||
- script: |
|
||||
./buildconf --force
|
||||
./configure ${{ parameters.configurationParameters }} \
|
||||
--prefix=/usr \
|
||||
--enable-phpdbg \
|
||||
--enable-fpm \
|
||||
--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 \
|
||||
--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=shared \
|
||||
--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: |
|
||||
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'
|
||||
- template: test.yml
|
||||
parameters:
|
||||
configurationName: ${{ parameters.configurationName }}
|
||||
- template: test.yml
|
||||
parameters:
|
||||
configurationName: ${{ parameters.configurationName }}
|
||||
runTestsName: 'OpCache'
|
||||
runTestsParameters: -dopcache.enable_cli=1
|
||||
- ${{ if ne(variables['Build.SourceBranch'], 'refs/heads/7.4') }}:
|
||||
- template: test.yml
|
||||
parameters:
|
||||
configurationName: ${{ parameters.configurationName }}
|
||||
runTestsName: 'JIT'
|
||||
runTestsParameters: -dopcache.enable_cli=1 -dopcache.jit_buffer_size=16M
|
30
azure/test.yml
Normal file
30
azure/test.yml
Normal file
@ -0,0 +1,30 @@
|
||||
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 }}'
|
||||
- task: PublishTestResults@2
|
||||
inputs:
|
||||
testResultsFormat: 'JUnit'
|
||||
testResultsFiles: junit.xml
|
||||
testRunTitle: '${{ parameters.configurationName }} ${{ parameters.runTestsName }}'
|
||||
failTaskOnFailedTests: true
|
||||
displayName: 'Export ${{ parameters.configurationName }} ${{ parameters.runTestsName }} Results'
|
Loading…
Reference in New Issue
Block a user