1name: Test
2inputs:
3  runTestsParameters:
4    default: ''
5    required: false
6  jitType:
7    default: 'disable'
8    required: false
9  idleCpu:
10    default: 'false'
11    required: false
12runs:
13  using: composite
14  steps:
15    - shell: bash
16      run: |
17        set -x
18        export MYSQL_TEST_USER=root
19        export MYSQL_TEST_PASSWD=root
20        if [[ -z "$PDO_MYSQL_TEST_DSN" ]]; then
21          export PDO_MYSQL_TEST_DSN="mysql:host=localhost;dbname=test"
22        fi
23        export PDO_MYSQL_TEST_USER=root
24        export PDO_MYSQL_TEST_PASS=root
25        export PDO_DBLIB_TEST_DSN="dblib:host=127.0.0.1;dbname=master;version=7.0"
26        export PDO_DBLIB_TEST_USER="pdo_test"
27        export PDO_DBLIB_TEST_PASS="password"
28        export PHP_OCI8_TEST_USER="system"
29        export PHP_OCI8_TEST_PASS="pass"
30        export PHP_OCI8_TEST_DB="localhost/XEPDB1"
31        export PDO_OCI_TEST_USER="system"
32        export PDO_OCI_TEST_PASS="pass"
33        export PDO_OCI_TEST_DSN="oci:dbname=localhost/XEPDB1;charset=AL32UTF8"
34        export PGSQL_TEST_CONNSTR="host=localhost dbname=test port=5432 user=postgres password=postgres"
35        if [[ -z "$PDO_PGSQL_TEST_DSN" ]]; then
36          export PDO_PGSQL_TEST_DSN="pgsql:host=localhost port=5432 dbname=test user=postgres password=postgres"
37        fi
38        export ODBC_TEST_USER="odbc_test"
39        export ODBC_TEST_PASS="password"
40        export ODBC_TEST_DSN="Driver={ODBC Driver 17 for SQL Server};Server=127.0.0.1;Database=odbc;uid=$ODBC_TEST_USER;pwd=$ODBC_TEST_PASS"
41        export PDO_ODBC_TEST_DSN="odbc:Driver={ODBC Driver 17 for SQL Server};Server=127.0.0.1;Database=pdo_odbc;uid=$ODBC_TEST_USER;pwd=$ODBC_TEST_PASS"
42        export SKIP_IO_CAPTURE_TESTS=1
43        export STACK_LIMIT_DEFAULTS_CHECK=1
44        sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \
45          -d opcache.jit=${{ inputs.jitType }} \
46          -d opcache.jit_buffer_size=16M \
47          ${{ inputs.idleCpu == 'true' && '-j$(($(/usr/bin/nproc) - 1))' || '-j$(/usr/bin/nproc)' }} \
48          -g FAIL,BORK,LEAK,XLEAK \
49          --no-progress \
50          --offline \
51          --show-diff \
52          --show-slow 1000 \
53          --set-timeout 120
54