1version: 2.1 2 3jobs: 4 arm: 5 resource_class: arm.medium 6 docker: 7 - image: cimg/base:current-22.04 8 - image: mysql:8.3 9 environment: 10 MYSQL_ALLOW_EMPTY_PASSWORD: true 11 MYSQL_ROOT_PASSWORD: '' 12 MYSQL_DATABASE: test 13 - image: postgres:16 14 environment: 15 POSTGRES_PASSWORD: postgres 16 POSTGRES_DB: test 17 environment: 18 LANGUAGE: '' 19 LANG: en_US.UTF-8 20 MYSQL_TEST_HOST: '127.0.0.1' 21 MYSQL_TEST_PASSWD: '' 22 MYSQL_TEST_USER: root 23 PDO_MYSQL_TEST_DSN: 'mysql:host=127.0.0.1;dbname=test' 24 PDO_MYSQL_TEST_PASS: '' 25 PDO_MYSQL_TEST_USER: root 26 PDO_PGSQL_TEST_DSN: 'pgsql:host=127.0.0.1 port=5432 dbname=test user=postgres password=postgres' 27 steps: 28 - checkout 29 - run: 30 name: apt 31 command: | 32 export DEBIAN_FRONTEND=noninteractive 33 sudo apt-get update -y 34 sudo apt-get install -y \ 35 gcc \ 36 g++ \ 37 autoconf \ 38 bison \ 39 re2c \ 40 locales \ 41 locales-all \ 42 ldap-utils \ 43 openssl \ 44 slapd \ 45 libgmp-dev \ 46 libicu-dev \ 47 libtidy-dev \ 48 libenchant-2-dev \ 49 libaspell-dev \ 50 libpspell-dev \ 51 libsasl2-dev \ 52 libxpm-dev \ 53 libzip-dev \ 54 libbz2-dev \ 55 libsqlite3-dev \ 56 libwebp-dev \ 57 libonig-dev \ 58 libkrb5-dev \ 59 libgssapi-krb5-2 \ 60 libcurl4-openssl-dev \ 61 libxml2-dev \ 62 libxslt1-dev \ 63 libpq-dev \ 64 libreadline-dev \ 65 libldap2-dev \ 66 libsodium-dev \ 67 libargon2-0-dev \ 68 libmm-dev \ 69 libsnmp-dev \ 70 snmpd \ 71 `#snmp-mibs-downloader` \ 72 freetds-dev \ 73 `#unixodbc-dev` \ 74 libc-client-dev \ 75 dovecot-core \ 76 dovecot-pop3d \ 77 dovecot-imapd \ 78 sendmail \ 79 firebird-dev \ 80 liblmdb-dev \ 81 libtokyocabinet-dev \ 82 libdb-dev \ 83 libqdbm-dev \ 84 libjpeg-dev \ 85 libpng-dev \ 86 libfreetype6-dev 87 - run: 88 name: ./configure 89 command: | 90 ./buildconf -f 91 ./configure \ 92 --enable-debug \ 93 --enable-zts \ 94 --enable-option-checking=fatal \ 95 --prefix=/usr \ 96 --enable-phpdbg \ 97 --enable-fpm \ 98 --enable-opcache \ 99 --with-pdo-mysql=mysqlnd \ 100 --with-mysqli=mysqlnd \ 101 --with-pgsql \ 102 --with-pdo-pgsql \ 103 --with-pdo-sqlite \ 104 --enable-intl \ 105 --without-pear \ 106 --enable-gd \ 107 --with-jpeg \ 108 --with-webp \ 109 --with-freetype \ 110 --with-xpm \ 111 --enable-exif \ 112 --with-zip \ 113 --with-zlib \ 114 --with-zlib-dir=/usr \ 115 --enable-soap \ 116 --enable-xmlreader \ 117 --with-xsl \ 118 --with-tidy \ 119 --enable-sysvsem \ 120 --enable-sysvshm \ 121 --enable-shmop \ 122 --enable-pcntl \ 123 --with-readline \ 124 --enable-mbstring \ 125 --with-curl \ 126 --with-gettext \ 127 --enable-sockets \ 128 --with-bz2 \ 129 --with-openssl \ 130 --with-gmp \ 131 --enable-bcmath \ 132 --enable-calendar \ 133 --enable-ftp \ 134 --with-pspell=/usr \ 135 --with-enchant=/usr \ 136 --with-kerberos \ 137 --enable-sysvmsg \ 138 --with-ffi \ 139 --enable-zend-test \ 140 --enable-dl-test=shared \ 141 --with-ldap \ 142 --with-ldap-sasl \ 143 --with-password-argon2 \ 144 --with-mhash \ 145 --with-sodium \ 146 --enable-dba \ 147 --with-cdb \ 148 --enable-flatfile \ 149 --enable-inifile \ 150 --with-tcadb \ 151 --with-lmdb \ 152 --with-qdbm \ 153 --with-snmp \ 154 `#--with-unixODBC` \ 155 --with-imap \ 156 --with-kerberos \ 157 --with-imap-ssl \ 158 `#--with-pdo-odbc=unixODBC,/usr` \ 159 `#--with-pdo-oci=shared,instantclient,/opt/oracle/instantclient` \ 160 `#--with-oci8=shared,instantclient,/opt/oracle/instantclient` \ 161 --with-config-file-path=/etc \ 162 --with-config-file-scan-dir=/etc/php.d \ 163 --with-pdo-firebird \ 164 `#--with-pdo-dblib` \ 165 --disable-phpdbg \ 166 `#--enable-werror` 167 - run: 168 name: make 169 command: make -j2 > /dev/null 170 - run: 171 name: make install 172 command: | 173 sudo make install 174 sudo mkdir -p /etc/php.d 175 sudo chmod 777 /etc/php.d 176 echo opcache.enable_cli=1 > /etc/php.d/opcache.ini 177 echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini 178 - run: 179 name: Test 180 no_output_timeout: 30m 181 command: | 182 sapi/cli/php run-tests.php \ 183 -d zend_extension=opcache.so \ 184 -d opcache.enable_cli=1 \ 185 -d opcache.jit_buffer_size=16M \ 186 -d opcache.jit=tracing \ 187 -d zend_test.observer.enabled=1 \ 188 -d zend_test.observer.show_output=0 \ 189 -P -q -x -j2 \ 190 -g FAIL,BORK,LEAK,XLEAK \ 191 --no-progress \ 192 --offline \ 193 --show-diff \ 194 --show-slow 1000 \ 195 --set-timeout 120 \ 196 --repeat 2 197 198workflows: 199 push-workflow: 200 jobs: 201 - arm 202