mirror of
https://github.com/php/php-src.git
synced 2026-10-28 09:46:46 +08:00
Fix macOS CI (#24409)
* Run brew update in macOS CI
* Drop intel macOS from CI
* Fix build on Apple Clang 17+ (#18629)
Fixing "invalid cpu feature string for builtin" errors that started to appear on Apple Clang 17.0.0
(cherry picked from commit 772479ea2f)
* Cleanup macOS job in test-suite.yml
---------
Co-authored-by: Máté Kocsis <kocsismate@woohoolabs.com>
This commit is contained in:
1 parent
810f0c6a81
commit
512c04e39f
4 files changed
+36
-7
No files matched your search
@@ -6,6 +6,8 @@ runs:
|
||||
run: |
|
||||
set -x
|
||||
|
||||
brew update
|
||||
|
||||
# Patch brew to overwrite always
|
||||
formula_installer="$(brew --repo)"/Library/Homebrew/formula_installer.rb
|
||||
code=" keg.link\(verbose: verbose\?"
|
||||
|
||||
+2
-3
@@ -125,10 +125,9 @@ function select_jobs($repository, $trigger, $nightly, $labels, $php_version, $re
|
||||
: ['debug' => [true], 'zts' => [true]];
|
||||
}
|
||||
if ($all_jobs || !$no_jobs || $test_macos) {
|
||||
$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]]];
|
||||
? ['arch' => ['ARM64'], 'debug' => [true, false], 'zts' => [true, false]]
|
||||
: ['include' => [['arch' => 'ARM64', 'debug' => true, 'zts' => false]]];
|
||||
$jobs['MACOS']['config']['version'] = version_compare($php_version, '8.4', '>=') ? '26' : '15';
|
||||
}
|
||||
if ($all_jobs || $test_msan) {
|
||||
|
||||
@@ -312,7 +312,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix: ${{ fromJson(inputs.branch).jobs.MACOS.matrix }}
|
||||
name: "MACOS_${{ matrix.arch }}_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}"
|
||||
runs-on: macos-${{ fromJson(inputs.branch).jobs.MACOS.config.version }}${{ matrix.arch == 'X64' && '-intel' || '' }}
|
||||
runs-on: macos-${{ fromJson(inputs.branch).jobs.MACOS.config.version }}
|
||||
timeout-minutes: 180
|
||||
steps:
|
||||
- name: git checkout
|
||||
@@ -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.zts }}
|
||||
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 || matrix.zts }}
|
||||
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.zts }}
|
||||
uses: ./.github/actions/test-macos
|
||||
with:
|
||||
enableOpcache: true
|
||||
|
||||
@@ -121,58 +121,86 @@ ZEND_API int zend_cpu_supports(zend_cpu_feature feature);
|
||||
* functions */
|
||||
ZEND_NO_SANITIZE_ADDRESS
|
||||
static inline int zend_cpu_supports_sse2(void) {
|
||||
#ifdef __aarch64__
|
||||
return 0;
|
||||
#else
|
||||
#if PHP_HAVE_BUILTIN_CPU_INIT
|
||||
__builtin_cpu_init();
|
||||
#endif
|
||||
return __builtin_cpu_supports("sse2");
|
||||
#endif
|
||||
}
|
||||
|
||||
ZEND_NO_SANITIZE_ADDRESS
|
||||
static inline int zend_cpu_supports_sse3(void) {
|
||||
#ifdef __aarch64__
|
||||
return 0;
|
||||
#else
|
||||
#if PHP_HAVE_BUILTIN_CPU_INIT
|
||||
__builtin_cpu_init();
|
||||
#endif
|
||||
return __builtin_cpu_supports("sse3");
|
||||
#endif
|
||||
}
|
||||
|
||||
ZEND_NO_SANITIZE_ADDRESS
|
||||
static inline int zend_cpu_supports_ssse3(void) {
|
||||
#ifdef __aarch64__
|
||||
return 0;
|
||||
#else
|
||||
#if PHP_HAVE_BUILTIN_CPU_INIT
|
||||
__builtin_cpu_init();
|
||||
#endif
|
||||
return __builtin_cpu_supports("ssse3");
|
||||
#endif
|
||||
}
|
||||
|
||||
ZEND_NO_SANITIZE_ADDRESS
|
||||
static inline int zend_cpu_supports_sse41(void) {
|
||||
#ifdef __aarch64__
|
||||
return 0;
|
||||
#else
|
||||
#if PHP_HAVE_BUILTIN_CPU_INIT
|
||||
__builtin_cpu_init();
|
||||
#endif
|
||||
return __builtin_cpu_supports("sse4.1");
|
||||
#endif
|
||||
}
|
||||
|
||||
ZEND_NO_SANITIZE_ADDRESS
|
||||
static inline int zend_cpu_supports_sse42(void) {
|
||||
#ifdef __aarch64__
|
||||
return 0;
|
||||
#else
|
||||
#if PHP_HAVE_BUILTIN_CPU_INIT
|
||||
__builtin_cpu_init();
|
||||
#endif
|
||||
return __builtin_cpu_supports("sse4.2");
|
||||
#endif
|
||||
}
|
||||
|
||||
ZEND_NO_SANITIZE_ADDRESS
|
||||
static inline int zend_cpu_supports_avx(void) {
|
||||
#ifdef __aarch64__
|
||||
return 0;
|
||||
#else
|
||||
#if PHP_HAVE_BUILTIN_CPU_INIT
|
||||
__builtin_cpu_init();
|
||||
#endif
|
||||
return __builtin_cpu_supports("avx");
|
||||
#endif
|
||||
}
|
||||
|
||||
ZEND_NO_SANITIZE_ADDRESS
|
||||
static inline int zend_cpu_supports_avx2(void) {
|
||||
#ifdef __aarch64__
|
||||
return 0;
|
||||
#else
|
||||
#if PHP_HAVE_BUILTIN_CPU_INIT
|
||||
__builtin_cpu_init();
|
||||
#endif
|
||||
return __builtin_cpu_supports("avx2");
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
|
||||
|
||||
Reference in new issue
Block a user