From fa47ae16a1778523e9ef3e8ca89a2ead6427b131 Mon Sep 17 00:00:00 2001 From: Arnaud Le Blanc Date: Wed, 15 Jul 2026 14:51:11 +0200 Subject: [PATCH] CI: Enable JIT testing on Apple Silicon ZTS 8.6+ Related: GH-22712 Co-authored-by: Florian Engelhardt --- .github/matrix.php | 14 +++++++++++++- .github/workflows/test-suite.yml | 6 +++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/matrix.php b/.github/matrix.php index 7970442d7050..eefb27e5ba53 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 e269ed336408..b51dfbd957c5 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