File tree 4 files changed +162
-0
lines changed
4 files changed +162
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : ./configure
2
+ inputs :
3
+ configurationParameters :
4
+ default : ' '
5
+ required : false
6
+ skipSlow :
7
+ default : false
8
+ required : false
9
+ runs :
10
+ using : composite
11
+ steps :
12
+ - shell : bash
13
+ run : |
14
+ set -x
15
+ ./buildconf --force
16
+ ./configure \
17
+ --enable-option-checking=fatal \
18
+ --prefix=/usr \
19
+ --with-libdir=lib64 \
20
+ --enable-phpdbg \
21
+ --enable-fpm \
22
+ --with-pdo-mysql=mysqlnd \
23
+ --with-mysqli=mysqlnd \
24
+ ${{ inputs.skipSlow == 'false' && '--with-pgsql' || '' }} \
25
+ ${{ inputs.skipSlow == 'false' && '--with-pdo-pgsql' || '' }} \
26
+ ${{ inputs.skipSlow == 'false' && '--with-pdo-sqlite' || '' }} \
27
+ --enable-intl \
28
+ --without-pear \
29
+ --enable-gd \
30
+ --with-jpeg \
31
+ --with-webp \
32
+ --with-freetype \
33
+ --with-xpm \
34
+ --enable-exif \
35
+ --with-zip \
36
+ --with-zlib \
37
+ --enable-soap \
38
+ --enable-xmlreader \
39
+ --with-xsl \
40
+ ${{ inputs.skipSlow == 'false' && '--with-tidy' || '' }} \
41
+ --enable-sysvsem \
42
+ --enable-sysvshm \
43
+ --enable-shmop \
44
+ --enable-pcntl \
45
+ --with-readline \
46
+ --enable-mbstring \
47
+ --with-iconv \
48
+ --with-curl \
49
+ --with-gettext \
50
+ --enable-sockets \
51
+ --with-bz2 \
52
+ --with-openssl \
53
+ --with-gmp \
54
+ --enable-bcmath \
55
+ --enable-calendar \
56
+ --enable-ftp \
57
+ ${{ inputs.skipSlow == 'false' && '--with-enchant=/usr' || '' }} \
58
+ --enable-sysvmsg \
59
+ --with-ffi \
60
+ --enable-zend-test \
61
+ ${{ inputs.skipSlow == 'false' && '--enable-dl-test=shared' || '' }} \
62
+ ${{ inputs.skipSlow == 'false' && '--with-ldap' || '' }} \
63
+ ${{ inputs.skipSlow == 'false' && '--with-ldap-sasl' || '' }} \
64
+ --with-password-argon2 \
65
+ --with-mhash \
66
+ --with-sodium \
67
+ --enable-dba \
68
+ --with-cdb \
69
+ --enable-flatfile \
70
+ --enable-inifile \
71
+ --with-tcadb \
72
+ --with-lmdb \
73
+ --with-qdbm \
74
+ ${{ inputs.skipSlow == 'false' && '--with-snmp' || '' }} \
75
+ ${{ inputs.skipSlow == 'false' && '--with-unixODBC' || '' }} \
76
+ ${{ inputs.skipSlow == 'false' && '--with-pdo-odbc=unixODBC,/usr' || '' }} \
77
+ --with-config-file-path=/etc \
78
+ --with-config-file-scan-dir=/etc/php.d \
79
+ ${{ inputs.skipSlow == 'false' && '--with-pdo-dblib' || '' }} \
80
+ --enable-werror \
81
+ ${{ inputs.configurationParameters }} || cat config.log
Original file line number Diff line number Diff line change
1
+ name : Test
2
+ inputs :
3
+ runTestsParameters :
4
+ default : ' '
5
+ required : false
6
+ runs :
7
+ using : composite
8
+ steps :
9
+ - shell : bash
10
+ run : |
11
+ set -x
12
+ # XXX: Set up other database tests?
13
+ # XXX: These tests are not running containerized
14
+ export MYSQL_TEST_USER=ci
15
+ export MYSQL_TEST_PASSWD=ci
16
+ if [[ -z "$PDO_MYSQL_TEST_DSN" ]]; then
17
+ export PDO_MYSQL_TEST_DSN="mysql:host=localhost;dbname=test"
18
+ fi
19
+ export PDO_MYSQL_TEST_USER=ci
20
+ export PDO_MYSQL_TEST_PASS=ci
21
+ export PGSQL_TEST_CONNSTR="host=localhost dbname=test port=5432 user=ci password=ci"
22
+ if [[ -z "$PDO_PGSQL_TEST_DSN" ]]; then
23
+ export PDO_PGSQL_TEST_DSN="pgsql:host=localhost port=5432 dbname=test user=ci password=ci"
24
+ fi
25
+ # Slow tests criteron is doubled because this runner isn't as fast as others
26
+ export SKIP_IO_CAPTURE_TESTS=1
27
+ export STACK_LIMIT_DEFAULTS_CHECK=1
28
+ sapi/cli/php run-tests.php -P -q ${{ inputs.runTestsParameters }} \
29
+ -j$(nproc) \
30
+ -g FAIL,BORK,LEAK,XLEAK \
31
+ --no-progress \
32
+ --show-diff \
33
+ --show-slow 2000 \
34
+ --set-timeout 120
Original file line number Diff line number Diff line change 17
17
run_alpine :
18
18
required : true
19
19
type : boolean
20
+ run_linux_ppc64 :
21
+ required : true
22
+ type : boolean
20
23
run_macos_arm64 :
21
24
required : true
22
25
type : boolean
35
38
permissions :
36
39
contents : read
37
40
jobs :
41
+ LINUX_PPC64 :
42
+ if : inputs.run_linux_ppc64
43
+ name : LINUX_PPC64_ASAN_UBSAN_DEBUG_ZTS
44
+ # This runs on a self-hosted runner; see https://wiki.php.net/systems/ci
45
+ runs-on : [self-hosted, gentoo, ppc64]
46
+ steps :
47
+ - name : git checkout
48
+ uses : actions/checkout@v4
49
+ with :
50
+ ref : ${{ inputs.branch }}
51
+ - name : System info
52
+ run : |
53
+ echo "::group::Show host CPU info"
54
+ lscpu
55
+ echo "::endgroup::"
56
+ echo "::group::Show installed packages"
57
+ cat /var/lib/portage/world
58
+ echo "::endgroup::"
59
+ - name : ./configure
60
+ uses : ./.github/actions/configure-gentoo
61
+ with :
62
+ configurationParameters : >-
63
+ CFLAGS="-fsanitize=undefined,address -fno-sanitize=function -DZEND_TRACK_ARENA_ALLOC"
64
+ LDFLAGS="-fsanitize=undefined,address -fno-sanitize=function"
65
+ CC=clang-17
66
+ CXX=clang++-17
67
+ --enable-debug
68
+ --enable-zts
69
+ skipSlow : false # FIXME: This should likely include slow extensions
70
+ - name : make
71
+ run : make -j$(/usr/bin/nproc) >/dev/null
72
+ # Skip an install action for now
73
+ - name : Tests
74
+ uses : ./.github/actions/test-gentoo
75
+ # There is no PPC JIT, so rip this out
76
+ with :
77
+ runTestsParameters : >-
78
+ --asan -x
79
+ - name : Notify Slack
80
+ if : failure()
81
+ uses : ./.github/actions/notify-slack
82
+ with :
83
+ token : ${{ secrets.ACTION_MONITORING_SLACK }}
38
84
ALPINE :
39
85
if : inputs.run_alpine
40
86
name : ALPINE_X64_ASAN_UBSAN_DEBUG_ZTS
Original file line number Diff line number Diff line change 53
53
community_verify_type_inference : ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
54
54
libmysqlclient_with_mysqli : ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1) }}
55
55
run_alpine : ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
56
+ run_linux_ppc64 : ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
56
57
run_macos_arm64 : ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
57
58
ubuntu_version : ${{
58
59
(((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 5) || matrix.branch.version[0] >= 9) && '24.04')
You can’t perform that action at this time.
0 commit comments