Skip to content

Commit 4332546

Browse files
committed
Move ARM build to CircleCI
Closes GH-12415
1 parent 7e4a323 commit 4332546

File tree

5 files changed

+201
-202
lines changed

5 files changed

+201
-202
lines changed

.circleci/config.yml

+197
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
version: 2.1
2+
3+
jobs:
4+
arm:
5+
resource_class: arm.medium
6+
docker:
7+
- image: cimg/base:current-22.04
8+
- image: mysql:8
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+
command: |
181+
sapi/cli/php run-tests.php \
182+
-d zend_extension=opcache.so \
183+
-d opcache.enable_cli=1 \
184+
-d opcache.jit_buffer_size=16M \
185+
-d opcache.jit=tracing \
186+
-P -q -x -j2 \
187+
-g FAIL,BORK,LEAK,XLEAK \
188+
--offline \
189+
--show-diff \
190+
--show-slow 1000 \
191+
--set-timeout 120 \
192+
--repeat 2
193+
194+
workflows:
195+
push-workflow:
196+
jobs:
197+
- arm

0 commit comments

Comments
 (0)