Skip to content

Commit 1ee5b65

Browse files
committed
Migrate libmysqlclient job to GitHub actions
Closes GH-9608
1 parent 90b4372 commit 1ee5b65

File tree

6 files changed

+99
-94
lines changed

6 files changed

+99
-94
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Build libmysqlclient
2+
inputs:
3+
configurationParameters:
4+
default: ''
5+
required: false
6+
libmysql:
7+
required: true
8+
runs:
9+
using: composite
10+
steps:
11+
- shell: bash
12+
run: |
13+
set -x
14+
LIBMYSQL=${{ inputs.libmysql }}
15+
MYSQL_BASE=${LIBMYSQL%%-linux-*}
16+
MYSQL_VERSION=${MYSQL_BASE#*-}
17+
MYSQL_DIR=$HOME/$MYSQL_BASE
18+
mkdir -p $MYSQL_DIR
19+
URL=https://cdn.mysql.com/Downloads/MySQL-${MYSQL_VERSION%.*}/$LIBMYSQL
20+
wget -nv $URL
21+
tar -xf $LIBMYSQL --strip-components=1 -C $MYSQL_DIR
22+
PDO_MYSQL=${MYSQL_DIR}
23+
MYSQLI=${MYSQL_DIR}/bin/mysql_config
24+
./buildconf --force
25+
./configure ${{ inputs.configurationParameters }} \
26+
--enable-option-checking=fatal \
27+
--disable-all \
28+
--enable-pdo \
29+
--with-pdo-mysql=${PDO_MYSQL} \
30+
--with-mysqli=${MYSQLI}
31+
make clean
32+
make -j$(/usr/bin/nproc) >/dev/null
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Test libmysqlclient
2+
runs:
3+
using: composite
4+
steps:
5+
- shell: bash
6+
run: |
7+
set -x
8+
export MYSQL_TEST_USER=root
9+
export MYSQL_TEST_PASSWD=root
10+
export PDO_MYSQL_TEST_DSN="mysql:host=127.0.0.1;dbname=test"
11+
export PDO_MYSQL_TEST_HOST=127.0.0.1
12+
export PDO_MYSQL_TEST_USER=root
13+
export PDO_MYSQL_TEST_PASS=root
14+
export TEST_PHP_JUNIT=junit.xml
15+
export REPORT_EXIT_STATUS=no
16+
rm -rf junit.xml | true
17+
sapi/cli/php run-tests.php -P -q \
18+
-g FAIL,XFAIL,BORK,WARN,LEAK,XLEAK,SKIP \
19+
--offline --show-diff --show-slow 1000 --set-timeout 120 \
20+
ext/pdo_mysql

.github/workflows/nightly.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,3 +452,50 @@ jobs:
452452
-d opcache.enable_cli=1
453453
- name: Verify generated files are up to date
454454
uses: ./.github/actions/verify-generated-files
455+
LIBMYSQLCLIENT:
456+
needs: GENERATE_MATRIX
457+
if: ${{ needs.GENERATE_MATRIX.outputs.branches != '[]' }}
458+
strategy:
459+
fail-fast: false
460+
matrix:
461+
branch: ${{ fromJson(needs.GENERATE_MATRIX.outputs.branches) }}
462+
name: "${{ matrix.branch.name }}_LIBMYSQLCLIENT"
463+
runs-on: ubuntu-20.04
464+
steps:
465+
- name: git checkout
466+
uses: actions/checkout@v2
467+
with:
468+
ref: ${{ matrix.branch.ref }}
469+
- name: apt
470+
run: |
471+
sudo apt-get update -y | true
472+
sudo apt install bison re2c
473+
- name: Setup
474+
run: |
475+
sudo service mysql start
476+
mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test"
477+
# Ensure local_infile tests can run.
478+
mysql -uroot -proot -e "SET GLOBAL local_infile = true"
479+
# Does not support caching_sha2_auth :(
480+
# - name: Build mysql-5.6
481+
# uses: ./.github/actions/build-libmysqlclient
482+
# with:
483+
# libmysql: mysql-5.6.49-linux-glibc2.12-x86_64.tar.gz
484+
# - name: Test mysql-5.6
485+
# uses: ./.github/actions/test-libmysqlclient
486+
- name: Build mysql-5.7
487+
uses: ./.github/actions/build-libmysqlclient
488+
with:
489+
libmysql: mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
490+
- name: Test mysql-5.7
491+
uses: ./.github/actions/test-libmysqlclient
492+
- name: Build mysql-8.0
493+
uses: ./.github/actions/build-libmysqlclient
494+
with:
495+
# FIXME: There are new warnings
496+
# configurationParameters: --enable-werror
497+
libmysql: mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
498+
- name: Test mysql-8.0
499+
uses: ./.github/actions/test-libmysqlclient
500+
- name: Verify generated files are up to date
501+
uses: ./.github/actions/verify-generated-files

azure-pipelines.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,3 @@ jobs:
4444
parameters:
4545
configurationName: I386_RELEASE_ZTS
4646
configurationParameters: '--disable-debug --enable-zts'
47-
- template: azure/libmysqlclient_job.yml
48-
parameters:
49-
configurationName: LIBMYSQLCLIENT_DEBUG_NTS
50-
configurationParameters: '--enable-debug --disable-zts'

azure/libmysqlclient_job.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

azure/libmysqlclient_test.yml

Lines changed: 0 additions & 53 deletions
This file was deleted.

0 commit comments

Comments
 (0)