summaryrefslogtreecommitdiff
path: root/azure/libmysqlclient_test.yml
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-09-18 11:32:05 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-12-18 12:52:54 +0100
commit7a5cc7aa67388ea44b9157665dba6cc425ec988c (patch)
tree6d0754acc4a5317da924d223657b11853fc4ebfc /azure/libmysqlclient_test.yml
parent037512cfce6048aae3d3900abb12310e66bc97a5 (diff)
downloadphp-git-7a5cc7aa67388ea44b9157665dba6cc425ec988c.tar.gz
Add basic libmysqlclient CI job
This tests that mysqli and pdo_mysql build against libmysqlclient, and that tests pass for pdo_mysql. mysqli has too many test failures. This is not an officially supported configuration.
Diffstat (limited to 'azure/libmysqlclient_test.yml')
-rw-r--r--azure/libmysqlclient_test.yml53
1 files changed, 53 insertions, 0 deletions
diff --git a/azure/libmysqlclient_test.yml b/azure/libmysqlclient_test.yml
new file mode 100644
index 0000000000..c163345dc4
--- /dev/null
+++ b/azure/libmysqlclient_test.yml
@@ -0,0 +1,53 @@
+parameters:
+ configurationName: ''
+ configurationParameters: ''
+ libmysql: ''
+
+steps:
+ - script: |
+ set -e
+ LIBMYSQL=${{ parameters.libmysql }}
+ MYSQL_BASE=${LIBMYSQL%%-linux-*}
+ MYSQL_VERSION=${MYSQL_BASE#*-}
+ MYSQL_DIR=$HOME/$MYSQL_BASE
+ mkdir -p $MYSQL_DIR
+ URL=https://cdn.mysql.com/Downloads/MySQL-${MYSQL_VERSION%.*}/$LIBMYSQL
+ wget -nv $URL
+ tar -xf $LIBMYSQL --strip-components=1 -C $MYSQL_DIR
+ PDO_MYSQL=${MYSQL_DIR}
+ MYSQLI=${MYSQL_DIR}/bin/mysql_config
+ ./buildconf --force
+ ./configure ${{ parameters.configurationParameters }} \
+ --enable-option-checking=fatal \
+ --disable-all \
+ --enable-pdo \
+ --with-pdo-mysql=${PDO_MYSQL} \
+ --with-mysqli=${MYSQLI}
+ make clean
+ make -j$(/usr/bin/nproc) >/dev/null
+ displayName: 'Build ${{ parameters.configurationName }}'
+ condition: or(succeeded(), failed())
+ - script: |
+ export MYSQL_TEST_USER=root
+ export MYSQL_TEST_PASSWD=root
+ export PDO_MYSQL_TEST_DSN="mysql:host=127.0.0.1;dbname=test"
+ export PDO_MYSQL_TEST_HOST=127.0.0.1
+ export PDO_MYSQL_TEST_USER=root
+ export PDO_MYSQL_TEST_PASS=root
+ export TEST_PHP_JUNIT=junit.xml
+ export REPORT_EXIT_STATUS=no
+ rm -rf junit.xml | true
+ sapi/cli/php run-tests.php -P -q \
+ -g FAIL,XFAIL,BORK,WARN,LEAK,XLEAK,SKIP \
+ --offline --show-diff --show-slow 1000 --set-timeout 120 \
+ ext/pdo_mysql
+ displayName: 'Test ${{ parameters.configurationName }}'
+ condition: or(succeeded(), failed())
+ - task: PublishTestResults@2
+ inputs:
+ testResultsFormat: 'JUnit'
+ testResultsFiles: junit.xml
+ testRunTitle: '${{ parameters.configurationName }}'
+ failTaskOnFailedTests: true
+ displayName: 'Export ${{ parameters.configurationName }} Results'
+ condition: or(succeeded(), failed())