Commit fa47ae16a17 for php.net
commit fa47ae16a1778523e9ef3e8ca89a2ead6427b131
Author: Arnaud Le Blanc <arnaud.lb@gmail.com>
Date: Wed Jul 15 14:51:11 2026 +0200
CI: Enable JIT testing on Apple Silicon ZTS 8.6+
Related: GH-22712
Co-authored-by: Florian Engelhardt <florian.engelhardt@datadoghq.com>
diff --git a/.github/matrix.php b/.github/matrix.php
index 7970442d705..eefb27e5ba5 100644
--- a/.github/matrix.php
+++ b/.github/matrix.php
@@ -127,7 +127,19 @@ function select_jobs($repository, $trigger, $nightly, $labels, $php_version, $re
$test_arm = version_compare($php_version, '8.4', '>=');
$jobs['MACOS']['matrix'] = $all_variations
? ['arch' => $test_arm ? ['X64', 'ARM64'] : ['X64'], 'debug' => [true, false], 'zts' => [true, false]]
- : ['include' => [['arch' => $test_arm ? 'ARM64' : 'X64', 'debug' => true, 'zts' => false]]];
+ : ['include' => [['arch' => $test_arm ? 'ARM64' : 'X64', 'debug' => true, 'zts' => false, 'jit' => true]]];
+ if ($all_variations) {
+ // Set the jit variable on X64 jobs
+ $jobs['MACOS']['matrix']['include'][] = ['arch' => 'X64', 'jit' => true];
+ if ($test_arm) {
+ // Set the jit variable on ARM64 NTS jobs
+ $jobs['MACOS']['matrix']['include'][] = ['arch' => 'ARM64', 'zts' => false, 'jit' => true];
+ // Set the jit variable on ARM64 ZTS jobs on 8.6+
+ if (version_compare($php_version, '8.6', '>=')) {
+ $jobs['MACOS']['matrix']['include'][] = ['arch' => 'ARM64', 'zts' => true, 'jit' => true];
+ }
+ }
+ }
$jobs['MACOS']['config']['arm64_version'] = version_compare($php_version, '8.4', '>=') ? '15' : '14';
}
if ($all_jobs || $test_msan) {
diff --git a/.github/workflows/test-suite.yml b/.github/workflows/test-suite.yml
index e269ed33640..b51dfbd957c 100644
--- a/.github/workflows/test-suite.yml
+++ b/.github/workflows/test-suite.yml
@@ -345,18 +345,18 @@ jobs:
if: ${{ inputs.all_variations }}
uses: ./.github/actions/test-macos
- name: Test Tracing JIT
- if: ${{ matrix.arch == 'X64' || !matrix.zts }}
+ if: ${{ matrix.jit }}
uses: ./.github/actions/test-macos
with:
enableOpcache: true
jitType: tracing
- name: Test OpCache
- if: ${{ inputs.all_variations || (matrix.arch == 'ARM64' && matrix.zts) }}
+ if: ${{ inputs.all_variations }}
uses: ./.github/actions/test-macos
with:
enableOpcache: true
- name: Test Function JIT
- if: ${{ inputs.all_variations && (matrix.arch == 'X64' || !matrix.zts) }}
+ if: ${{ inputs.all_variations && matrix.jit }}
uses: ./.github/actions/test-macos
with:
enableOpcache: true