@@ -192,6 +192,102 @@ jobs:
192
192
runTestsParameters : >-
193
193
-d zend_extension=opcache.so
194
194
-d opcache.enable_cli=1
195
+ LINUX_ARM64 :
196
+ if : github.repository == 'php/php-src' || github.event_name == 'pull_request'
197
+ services :
198
+ mysql :
199
+ image : mysql:8.3
200
+ ports :
201
+ - 3306:3306
202
+ env :
203
+ MYSQL_DATABASE : test
204
+ MYSQL_ROOT_PASSWORD : root
205
+ postgres :
206
+ image : postgres
207
+ ports :
208
+ - 5432:5432
209
+ env :
210
+ POSTGRES_USER : postgres
211
+ POSTGRES_PASSWORD : postgres
212
+ POSTGRES_DB : test
213
+ firebird :
214
+ image : jacobalberty/firebird
215
+ ports :
216
+ - 3050:3050
217
+ env :
218
+ ISC_PASSWORD : test
219
+ FIREBIRD_DATABASE : test.fdb
220
+ FIREBIRD_USER : test
221
+ FIREBIRD_PASSWORD : test
222
+ strategy :
223
+ fail-fast : false
224
+ matrix :
225
+ include :
226
+ - debug : false
227
+ zts : false
228
+ asan : false
229
+ - debug : true
230
+ zts : true
231
+ asan : true
232
+ name : " LINUX_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}${{ matrix.asan && '_ASAN' || '' }}"
233
+ runs-on : ubuntu-24.04-arm
234
+ timeout-minutes : 50
235
+ steps :
236
+ - name : git checkout
237
+ uses : actions/checkout@v4
238
+ - name : apt
239
+ uses : ./.github/actions/apt-x64
240
+ - name : System info
241
+ run : |
242
+ echo "::group::Show host CPU info"
243
+ lscpu
244
+ echo "::endgroup::"
245
+ echo "::group::Show installed package versions"
246
+ dpkg -l
247
+ echo "::endgroup::"
248
+ - name : Create MSSQL container
249
+ if : ${{ !matrix.asan }}
250
+ uses : ./.github/actions/setup-mssql
251
+ - name : Setup Caddy server
252
+ uses : ./.github/actions/setup-caddy
253
+ - name : ccache
254
+ uses : hendrikmuhs/ccache-action@v1.2
255
+ with :
256
+ # This duplicates the "job.name" expression above because
257
+ # GitHub has no way to query the job name (github.job is the
258
+ # job id, not the job name)
259
+ key : " LINUX_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}${{ matrix.asan && '_ASAN' || '' }}-${{hashFiles('main/php_version.h')}}"
260
+ append-timestamp : false
261
+ save : ${{ github.event_name != 'pull_request' }}
262
+ - name : ./configure
263
+ uses : ./.github/actions/configure-x64
264
+ with :
265
+ configurationParameters : >-
266
+ --${{ matrix.debug && 'enable' || 'disable' }}-debug
267
+ --${{ matrix.zts && 'enable' || 'disable' }}-zts
268
+ ${{ matrix.asan && 'CFLAGS="-fsanitize=undefined,address -fno-sanitize=function -DZEND_TRACK_ARENA_ALLOC" LDFLAGS="-fsanitize=undefined,address -fno-sanitize=function" CC=clang CXX=clang++' || '' }}
269
+ skipSlow : ${{ matrix.asan }}
270
+ - name : make
271
+ run : make -j$(/usr/bin/nproc) >/dev/null
272
+ - name : make install
273
+ uses : ./.github/actions/install-linux
274
+ - name : Setup
275
+ if : ${{ !matrix.asan }}
276
+ uses : ./.github/actions/setup-x64
277
+ - name : Test
278
+ if : matrix.asan == false
279
+ uses : ./.github/actions/test-linux
280
+ - name : Test Tracing JIT
281
+ uses : ./.github/actions/test-linux
282
+ with :
283
+ jitType : tracing
284
+ runTestsParameters : >-
285
+ -d zend_extension=opcache.so
286
+ -d opcache.enable_cli=1
287
+ ${{ matrix.asan && '--asan -x' || '' }}
288
+ - name : Verify generated files are up to date
289
+ if : ${{ !matrix.asan }}
290
+ uses : ./.github/actions/verify-generated-files
195
291
MACOS_DEBUG_NTS :
196
292
if : github.repository == 'php/php-src' || github.event_name == 'pull_request'
197
293
strategy :
0 commit comments