From b1316672d942f4e1e01eebdc030ced81ae7fafae Mon Sep 17 00:00:00 2001 From: Lawrence Stubbs Date: Wed, 22 Feb 2023 19:48:02 -0500 Subject: [PATCH] include testing against nightly PHP 8.3 --- .github/workflows/zend-ffi.yml | 6 ++++-- preload.php | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/zend-ffi.yml b/.github/workflows/zend-ffi.yml index a13ab78..7d042dc 100644 --- a/.github/workflows/zend-ffi.yml +++ b/.github/workflows/zend-ffi.yml @@ -1,4 +1,4 @@ -name: "7.4 to 8.2 " +name: "7.4 to 8.3 " on: push: @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: operating-system: [ubuntu-latest, windows-latest, macos-latest] - php-versions: ['7.4', '8.0', '8.1', '8.2'] + php-versions: ['7.4', '8.0', '8.1', '8.2', '8.3'] include: - php-versions: '7.4' php-coverage: xdebug @@ -25,6 +25,8 @@ jobs: php-coverage: none - php-versions: '8.2' php-coverage: none + - php-versions: '8.3' + php-coverage: none steps: - name: Checkout uses: actions/checkout@v3 diff --git a/preload.php b/preload.php index 6645220..4683bc7 100644 --- a/preload.php +++ b/preload.php @@ -82,8 +82,11 @@ \define('SYS_PIPE', \IS_WINDOWS ? '\\\\.\\pipe\\' : \getcwd() . '/'); } +if (!\defined('IS_PHP83')) + \define('IS_PHP83', ((float) \phpversion() >= 8.3)); + if (!\defined('IS_PHP82')) - \define('IS_PHP82', ((float) \phpversion() >= 8.2)); + \define('IS_PHP82', ((float) \phpversion() >= 8.2) && !\IS_PHP83); if (!\defined('IS_PHP81')) \define('IS_PHP81', ((float) \phpversion() >= 8.1) && !\IS_PHP82); @@ -103,7 +106,9 @@ \IS_PHP80 ? 20200930 : (\IS_PHP81 ? 20210902 : (\IS_PHP82 ? 20220829 - : 20190902 + : (\IS_PHP83 ? 20220830 + : 20190902 + ) ) ) ); @@ -640,7 +645,11 @@ function setup_ffi_loader(string $tag, string $cdef_file): void function zend_preloader(): void { - $minor = \IS_PHP81 ? '1' : (\IS_PHP82 ? '2' : ''); + $minor = \IS_PHP81 ? '1' + : (\IS_PHP82 ? '2' + : (\IS_PHP83 ? '3' + : '') + ); $os = __DIR__ . \DS . (\PHP_OS_FAMILY === 'Windows' ? 'headers\zeWin' : 'headers/ze'); $php = $os . \PHP_MAJOR_VERSION . $minor . (\PHP_ZTS ? 'ts' : '') . '.h'; \setup_ffi_loader('ze', $php);